| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- (function($){
- $.fn.extend({
- Scroll:function(opt,callback){
- //参数初始化
- if(!opt) var opt={};
- var _btnUp = $("#"+ opt.up);//Shawphy:向上按钮
- var _btnDown = $("#"+ opt.down);//Shawphy:向下按钮
- var timerID;
- var _this=this.eq(0).find("dl:first");
- var lineH=_this.find("dd:first").height(), //获取行高
- line=opt.line?parseInt(opt.line,10):parseInt(this.height()/lineH,10), //每次滚动的行数,默认为一屏,即父容器高度
- speed=opt.speed?parseInt(opt.speed,10):2000; //卷动速度,数值越大,速度越慢(毫秒)
- timer=opt.timer?parseInt(opt.timer,10):7000; //滚动的时间间隔(毫秒)
- if(line==0) line=1;
- var upHeight=0-line*lineH;
- //滚动函数
- var scrollUp=function(){
- _btnUp.unbind("click",scrollUp); //Shawphy:取消向上按钮的函数绑定
- _this.animate({
- marginTop:upHeight
- },speed,function(){
- for(i=1;i<=line;i++){
- _this.find("dd:first").appendTo(_this);
- }
- _this.css({marginTop:0});
- _btnUp.bind("click",scrollUp); //Shawphy:绑定向上按钮的点击事件
- });
-
- }
- //Shawphy:向下翻页函数
- var scrollDown=function(){
- _btnDown.unbind("click",scrollDown);
- for(i=1;i<=line;i++){
- _this.find("dd:last").show().prependTo(_this);
- }
- _this.css({marginTop:upHeight});
- _this.animate({
- marginTop:0
- },speed,function(){
- _btnDown.bind("click",scrollDown);
- });
- }
- //Shawphy:自动播放
- var autoPlay = function(){
- if(timer)timerID = window.setInterval(scrollUp,timer);
- };
- var autoStop = function(){
- if(timer)window.clearInterval(timerID);
- };
- //鼠标事件绑定
- _this.hover(autoStop,autoPlay).mouseout();
- _btnUp.css("cursor","pointer").click( scrollUp ).hover(autoStop,autoPlay);//Shawphy:向上向下鼠标事件绑定
- _btnDown.css("cursor","pointer").click( scrollDown ).hover(autoStop,autoPlay);
-
- }
- })
- })(jQuery);
-
- $(document).ready(function(){
- $("#trendScroll").Scroll({line:5,speed:200,timer:8000,up:"btn1",down:"btn2"});
- });
|