Advertisement
Guest User

Something.js

a guest
Mar 15th, 2013
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var crlf="\r\n";var IPAD=is_mobile();var MSIE=get_msie();var hide_native=true;var conf_crsr=true;var conf_snap=!true;var scrltim=750;var snaptim=150;var snappx=32;var hgtimer01=null;var autothr=250;var autotim=18;var autopx=3;var nrofrows=2;var lastpic=0;var xsnaps=[];var dragging=false;var dragdone=false;var touching=false;var maskwid=0;var scrlwid=0;var qwid=1;var trckwid;var x0,hgx1,hgx2,xx0,xx1;var tx0,ty0,tmsec,tvel;function rnd(n){return parseInt(n*Math.random())}function rndcolor(){var hexa='0123456789abcdef';var col='#';for(var i=0;i<6;i++)col+=hexa.substr(rnd(16),1);return col}function cumulate(n){for(var i=0;i<n;i++){var wid=100+rnd(100);var bgc=rndcolor;var allrows=$('.xscroll');var row,rw=$(allrows[row=0]).width();for(var j=1;j<allrows.length;j++){var w=$(allrows[j]).width();if(w<rw){rw=w;row=j}}row++;xsnaps.push($('#xscroll_'+row).width());$('#xscroll_'+row).width(function(n,c){return c+wid+22}).append($('<div></div>').addClass('box round9px picbag').css({'width':wid+'px','background-color':bgc}).html('# '+(lastpic+i+1)))}lastpic+=n}function touchy(eve,jso){if(touching)return false;touching=true;if(eve.type=='mousedown'){x0=tx0=eve.clientX;ty0=eve.clientY;dragcare()}else{eve.preventDefault();var touch=eve.originalEvent.touches[0]||eve.originalEvent.changedTouches[0];x0=tx0=touch.clientX;ty0=touch.clientY}tmsec=eve.timeStamp;tvel=0;return false}function swipe(eve,jso){var dx2,touch=null;if(eve.type=='mousemove'||eve.type=='mouseup'||eve.type=='mouseout'){if(!touching)return true;if(eve.type=='mouseout'){}dx2=tx0-eve.clientX;tx0=eve.clientX}else{eve.preventDefault();touch=eve.originalEvent.touches[0]||eve.originalEvent.changedTouches[0];dx2=tx0-touch.clientX;tx0=touch.clientX}var msec=eve.timeStamp;if(eve.type=='touchmove'||eve.type=='mousemove'){var dt=msec-tmsec;tmsec=msec;tvel=dx2/dt;var x2=hgx2+dx2;if(x2>0)dragxobj(dx2)}else{if(eve.type !='mouseout')dragsafe();if(eve.type=='touchcancel'||eve.type=='mouseout'){if(touch){dbg('-- touchcancel --',true,'msg');dump_obj(touch,true)}touching=false}else if(eve.type=='touchend'||eve.type=='mouseup'){dbg(eve.type+', tx0 = '+tx0+', dx2 = '+dx2+', v = '+tvel,true,'x');if(Math.abs(tvel)>.05)do_xscroll(tvel*2*scrltim);touching=false}else{dbg('--unknown--'+crlf+eve.type,true,'x');return true}}return false}$(document).ready(function(){if(IPAD)nrofrows=1;var plane='<div id="xscroll_plane">';for(var i=0;i<nrofrows;i++){plane+=crlf+'<div id="xscroll_'+(i+1)+'" class="box round9px xscroll"></div>'}plane+=crlf+'</div>';plane+=crlf+'<div class="nofloat"></div>';plane+=crlf+'<div class="box xscrollbar"> <div class="xscrolltrack"></div> </div>';$('body').append('<div id="xscroll_mask" class="round9px">'+crlf+plane+crlf+'</div>'+crlf);$('#xscroll_mask').append('<div class="nopro_autoscroll fixl"></div>'+'<div class="nopro_autoscroll fixr"></div>');$('.nopro_autoscroll').css({'top':6+'px','height':nrofrows*146+'px'});function autoscroll_init(dx2){clearTimeout(hgtimer01);hgtimer01=setTimeout(function(){hgtimer01=setInterval(function(){do_xscroll(dx2,true)},autotim)},autothr)}$('.nopro_autoscroll').mouseout(function(){var tmp=hgtimer01;clearTimeout(hgtimer01);hgtimer01=null;if(conf_snap){snapback(hgx2,null,snaptim)}});$('.nopro_autoscroll.fixl').mouseover(function(){autoscroll_init(-autopx)});$('.nopro_autoscroll.fixr').mouseover(function(){autoscroll_init(autopx)});cumulate(36);xscrollresize();window.onresize="xscrollresize";$('#xscroll_mask').height(function(n,c){return c+$('.xscrollbar').height()});$('#dbgbox').css({'top':($(window).height()-$('#dbgbox').outerHeight()-8)+'px'});$('.xscrolltrack, .xscrollbar').addClass('unselectable').attr('unselectable','on');if(hide_native){$('#xscroll_plane').css({'overflow-x':'hidden'})}cumulate(nrofrows*100);xscrollresize();if(IPAD){$('#xscroll_mask').bind('touchmove',function(e){swipe(e)}).bind('touchend',function(e){swipe(e)}).bind('touchcancel',function(e){swipe(e)}).delegate('.picbag, .picbag *','touchstart',function(e){touchy(e,this)})}else{$('#xscroll_plane').bind('mousemove',function(e){swipe(e)}).bind('mouseup',function(e){swipe(e)}).bind('mouseout',function(e){swipe(e)}).delegate('.picbag','mousedown',function(e){touchy(e,this)})}$('#xscroll_plane').scroll(function(e){if(dragging)return true;var x2=$('#xscroll_plane').scrollLeft();hgx1=parseInt(x2/qwid);$('.xscrolltrack').css('left',hgx1+'px');return false});if(conf_crsr){$(document).keydown(function(eve){if(eve.which==39){do_xscroll(scrlwid);return false}else if(eve.which==37){do_xscroll(-scrlwid);return false}return true})}$('.xscrollbar').click(function(e){if(dragdone)return dragdone=dragging=false;if(dragging)return false;dragging=true;x0=xx0+e.clientX;do_xscroll((x0<hgx1)?-scrlwid:scrlwid)});if(!IPAD)$('.xscrollbar').dblclick(function(e){dragging=true;$('#xscroll_plane, .xscrolltrack').stop(true);x0=xx0+e.clientX;var dx2=parseInt(.5+(x0-hgx1-trckwid/2)*qwid);do_xscroll(dx2)});if(!IPAD)$('.xscrolltrack').mousedown(function(e){dragging=true;x0=e.clientX;hgx1=$('.xscrolltrack').offset().left;hgx2=$('#xscroll_plane').scrollLeft();$(document).mouseup(function(){$(document).off('mouseup mousemove');if(conf_snap){snapback(hgx2,null,snaptim)}dragdone=true;dragging=false;dragsafe()});$(document).mousemove(function(e){return dragxscroll(e)});dragcare()})});function dragcare(){$('body *').addClass('unselectable').attr('unselectable','on')}function dragsafe(){$('body *').removeClass('unselectable').attr('unselectable','off');$('.xscrolltrack, .xscrollbar').addClass('unselectable').attr('unselectable','on')}function dragxscroll(eve){var dx1=eve.clientX-x0;x0=eve.clientX;if(hgx2<0||hgx2>planwid){return true}dragxobj(parseInt(.5+dx1*qwid));return false}function dragxobj(dx2){hgx2=x2limit(hgx2+dx2);hgx1=parseInt(hgx2/qwid);$('#xscroll_plane').scrollLeft(hgx2);if(dragging)$('.xscrolltrack').css('left',hgx1+'px')}function xscrollresize(){maskwid=$('#xscroll_mask').width();planwid=parseInt($('#xscroll_plane')[0].scrollWidth)-maskwid;scrlwid=maskwid-8;$('.xscrollbar').width(scrlwid);qwid=planwid/maskwid;trckwid=parseInt(scrlwid/qwid);qwid=(scrlwid+trckwid)/trckwid;xx0=0;xx1=scrlwid-trckwid;$('.xscrolltrack').width(trckwid);hgx2=Math.min(planwid,$('#xscroll_plane').scrollLeft());hgx1=Math.min(xx1,parseInt(hgx2/qwid));$('.xscrolltrack').css('left',hgx1+'px');return;var info='';info+=crlf+"maskwid "+maskwid;info+=crlf+"planwid "+planwid;info+=crlf+"scrlwid "+scrlwid;info+=crlf+"qwid "+qwid;dbg(info,true)}function x2limit(x2){if(x2>planwid)x2=planwid;else if(x2<0)x2=0;return x2}function do_xscroll(dx2,quick){var x2=x2limit($('#xscroll_plane').scrollLeft()+dx2);if(!quick)hgx1=$('.xscrolltrack').offset().left;$('#xscroll_plane, .xscrolltrack').stop(true);if(quick||hgtimer01 !=null){hgx2=x2;$('#xscroll_plane').scrollLeft(hgx2)}else{var d=Math.min(Math.abs(dx2),3*scrlwid);var t=(d<scrlwid)?scrltim*d/scrlwid:scrltim*scrlwid/d;if(conf_snap){snapback(hgx2=x2,dx2,t)}else{hgx2=x2;$('#xscroll_plane').animate({'scrollLeft':hgx2},t)}dragging=false}}function snapback(x2,dx2,atim){if(hgx2<=0||hgx2>=planwid)return;var x2a,x2b;var d,idx=parseInt(xsnaps.length/2);for(d=parseInt(idx/2);d>1;d=parseInt(d/2)){if(x2<xsnaps[idx]){x2a=xsnaps[idx-1];x2b=xsnaps[idx];if(x2>=x2a)break;idx-=d}else{x2a=xsnaps[idx];x2b=xsnaps[idx+1];if(x2<=x2b)break;idx+=d}}if(x2<xsnaps[idx]){x2a=xsnaps[idx-1];x2b=xsnaps[idx]}else{x2a=xsnaps[idx];x2b=xsnaps[idx+1]}if(x2<x2a)x2a=0;hgx2=(x2-x2a<x2b-x2)?x2a:x2b;hgx2=x2limit(hgx2);hgx1=parseInt(hgx2/qwid);if(!dx2){dx2=hgx2-x2}var fuzzy=(dx2<0)?-snappx:snappx;$('#xscroll_plane').animate({'scrollLeft':x2},atim)}function snaprecu(dx){var x2=hgx2+parseInt(4*dx/3);if(Math.abs(dx)<2){$('#xscroll_plane').animate({'scrollLeft':hgx2},snaptim);return}$('#xscroll_plane').animate({'scrollLeft':x2},snaptim,function(){snaprecu(-dx/2)})}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement