Posted in Javascript onJune 17, 2009
(function($){ $.fn.extend({ rollList:function(option){ option=$.extend({ direction:"up", step:1, time:23 },option); var step_coe,scroll_coe,score_coe; if(option.direction=="up") { step_coe=1; scroll_coe=1; score_coe=1; }else { step_coe=-1; scroll_coe=-1; score_coe=0; } return this.each(function(){ var $this=$(this); var _this=this; var itemHeight; var temp=$("<DIV> </DIV>"); $this.css("overflow","hidden").children() .appendTo(temp); $this.append(temp.clone(true)).append(temp); itemHeight=$this.children(); itemHeight=itemHeight.eq(1).offset().top-itemHeight.eq(0).offset().top; while($this.children(":last").offset().top-$this.offset().top<=$this.height()) $this.append(temp.clone(true)); var roll; this.scrollTop=itemHeight*(1-score_coe); roll=function (){ temp=setInterval(function(){ if(_this.scrollTop*scroll_coe>=itemHeight*score_coe) { _this.scrollTop=(_this.scrollTop-itemHeight)*scroll_coe; } _this.scrollTop+=option.step*step_coe; },option.time); } $this.hover(function(){ clearInterval(temp); },function(){ roll(); }); roll(); }); } }) }(jQuery));
调用如下:
$(elem).rollList();
jquery 上下滚动广告
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@