You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
2.8 KiB
60 lines
2.8 KiB
/*
|
|
jQ向上滚动带上下翻页按钮
|
|
*/
|
|
(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("ul:first");
|
|
var lineH=80, //获取行高
|
|
line=opt.line?parseInt(opt.line,10):parseInt(this.height()/lineH,10), //每次滚动的行数,默认为一屏,即父容器高度
|
|
speed=opt.speed?parseInt(opt.speed,10):500; //卷动速度,数值越大,速度越慢(毫秒)
|
|
timer=opt.timer //?parseInt(opt.timer,10):3000; //滚动的时间间隔(毫秒)
|
|
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("li: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("li: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);
|
|
|