冬天里的陽(yáng)光
2017-08-14 17:57:40
以下一段是向左滾動(dòng)代碼,如何修改每次向左滾動(dòng)的距離?var?Scroll?=?{
???$:function(ele)?{
?????var?el;
?????if(typeof?ele?==?'string')?el?=?document.getElementById(ele);
?????else?el?=?ele;
?????if(!el)?return?null;
?????else?return?el;
???},
???//間隔滾動(dòng)
???gapScroll:function(objId,options)?{
?????//定義參數(shù)
?var?scrollObj?=?Scroll.$(objId);
?var?contrainer?=?scrollObj.parentNode;
?options?=?options?||?{};
?var?gap?=?parseInt(options.gap)?||?2000;
?var?frame?=?parseInt(options.frame)?||?20;
?var?distance?=?parseInt(options.distance)?||?22;
?var?vate?=?parseFloat(options.vate)?||?0.05;
?var?direction?=?options.direction?||?'scrollTop';
?var?control?=?options.control?||?false;
?var?preObj?=?Scroll.$(options.preId)?||?'';
?var?nextObj?=?Scroll.$(options.nextId)?||?'';
?var?ename?=?options.ename?||?'click';
?var?maxLength?=?Scroll.pack(scrollObj,direction);
?var?mark?=?0,timer,gap_timer,l?=?Math.floor(maxLength/distance);
?//啟動(dòng)動(dòng)畫
?timer?=?setTimeout(goto,gap);
?function?goto()?{
??mark+=1;
??gap_timer?=?setInterval(plus,frame);
?}
?//+動(dòng)畫
?function?plus()?{
??clearTimeout(timer);
??????var?d?=?contrainer[direction];
??????if(d<mark*distance)?contrainer[direction]?=?Math.ceil(d+(mark*distance-d)*vate);
??????else?{
??????clearInterval(gap_timer);
??mark?=?mark<l?mark:0;
??????contrainer[direction]?=?mark*distance;
??timer?=?setTimeout(goto,gap);
??} ???
?}
?//-動(dòng)畫
?function?minus()?{
???clearTimeout(timer);
???????var?d?=?contrainer[direction];
???????if(d>mark*distance)?contrainer[direction]?=?Math.floor(d-(d-mark*distance)*vate);
???????else?{
?????????clearInterval(gap_timer);
?????mark?=?mark<1?l:mark;
?????????contrainer[direction]?=?mark*distance;
?????timer?=?setTimeout(goto,gap);
???} ???
?}
?//控制部分
?if(control?&&?preObj!=''?&&?nextObj!='')?{
?????????nextObj['on'+ename]?=?function()?{
?????????????clearInterval(gap_timer);
?????????????mark?=?mark<l?mark:0;
?????????????contrainer[direction]?=?mark*distance;
?????????????goto();
??????????}
?????????preObj['on'+ename]?=?function()?{
?????????????clearInterval(gap_timer);
?????????????mark?=?mark<1?l:mark;
?????????????contrainer[direction]?=?mark*distance;
?????????????mark-=1;
?????????????gap_timer?=?setInterval(minus,frame);
??????????} ????
?}
?//鼠標(biāo)事件
?????scrollObj.onmouseover?=?function()?{clearTimeout(timer);}
?????scrollObj.onmouseout?=?function()?{timer?=?setTimeout(goto,gap);}
???},
???//連續(xù)滾動(dòng)
???continuScroll:function(objId,options)?{
?????//定義參數(shù)
?var?scrollObj?=?Scroll.$(objId);
?var?contrainer?=?scrollObj.parentNode;
?options?=?options?||?{};
?var?frame?=?parseInt(options.frame)?||?40;
?var?direction?=?options.direction?||?'scrollTop';
?var?control?=?options.control?||?false;
?var?preObj?=?Scroll.$(options.preId)?||?'';
?var?nextObj?=?Scroll.$(options.nextId)?||?'';
?var?ename?=?options.ename?||?'click';
?var?maxLength?=?Scroll.pack(scrollObj,direction,control);
?var?timer?=?setInterval(plus,frame);
?//+動(dòng)畫
?function?plus()?{
???var?d?=?contrainer[direction];
???if(d<maxLength)?contrainer[direction]?=?d+1;
???else??contrainer[direction]?=?0;
?}
?//-動(dòng)畫
?function?minus()?{
???var?d?=?contrainer[direction];
???if(d>maxLength)?contrainer[direction]?=?d-1;
???else?contrainer[direction]?=?2*maxLength;
?}
?//控制部分
?if(control?&&?preObj!=''?&&?nextObj!='')?{
?????????preObj['on'+ename]?=?function()?{
?????????????clearInterval(timer);
?contrainer[direction]?=?(contrainer[direction]>maxLength)?(contrainer[direction]-maxLength):contrainer[direction];
?timer?=?setInterval(plus,frame);
??????????}
?????????nextObj['on'+ename]?=?function()?{
?????????????clearInterval(timer);
?contrainer[direction]?=?(contrainer[direction]<maxLength)?(contrainer[direction]+maxLength):contrainer[direction];
?timer?=?setInterval(minus,frame);
??????????} ????
?}
?//鼠標(biāo)事件
?????scrollObj.onmouseover?=?function()?{clearInterval(timer);}
?????scrollObj.onmouseout?=?function()?{
?timer?=(contrainer[direction]<maxLength)?setInterval(plus,frame):setInterval(minus,frame);
?}
???},
???//重包裹內(nèi)容,返回最大寬度或高度
???pack:function(obj,type,control)?{
?????var?temp?=?obj.innerHTML;
?obj.innerHTML?=?'';
?var?span?=?document.createElement('span');
?obj.appendChild(span);
?span.innerHTML?=?temp;
?span.style.styleFloat?=?'left';
?span.style.cssFloat?=?'left';
?var?len?=?(type?==?'scrollTop')?span.offsetHeight:span.offsetWidth;
?span.innerHTML+=temp;
?if(typeof?control?!='undefined'?&&?control?==?true)?span.innerHTML+=temp;
?return?len;
???}
};
添加回答
舉報(bào)
0/150
提交
取消