本文介绍使用jQuery滚动插件制作滚动效果.可设置一次滚动行数,滚动速度,滚动间隔时间.
参数说明
line:每次滚动的行数,默认为一屏,即父容器高度
speed:卷动速度,数值越大,速度越慢(毫秒)
timer:滚动的时间间隔(毫秒)
主要js与解析
<script type="text/javascript">
//滚动插件
(function ($) {
$.fn.extend({
Scroll: function (opt, callback) {
//参数初始化
if (!opt) var opt = {};
var _this = this.eq(0).find("ul:first");
var lineH = _this.find("li:first").height(),
//获取行高
line = opt.line ? parseInt(opt.line, 10) : parseInt(this.height() / lineH, 10),
//每次滚动的行数,默认为一屏,即父容器高度
speed = opt.speed ? parseInt(opt.speed, 15) : 8000,
//卷动速度,数值越大,速度越慢(毫秒)
timer = opt.timer ? parseInt(opt.timer, 20) : 10000;
//滚动的时间间隔(毫秒)
if (line == 0) { line = 1; }
var upHeight = 0 - line * lineH;
//滚动函数
scrollUp = function () {
_this.animate({
marginTop: upHeight
}, speed, function () {
for (i = 1; i <= line; i++) {
_this.find("li:first").appendTo(_this);
}
_this.css({ marginTop: 0 });
});
}
//鼠标事件绑定
_this.hover(function () {
clearInterval(timerID);
}, function () {
timerID = setInterval("scrollUp()", timer);
}).mouseout();
}
})
})(jQuery);
$(document).ready(function () {
$("#scrollDiv").Scroll({ line: 4, speed: 500, timer: 500 });
});
</script>