
本文介绍使用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>