Jquery实现一次多行滚动效果
  • 分享到微信朋友圈
    X

很多网站都需要做一个公告新闻滚动效果,下面介绍一个每次可以实现滚动一行或者多行的jQuery滚动代码

关键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: 1000 //滚动的时间间隔(毫秒) 
        });
    });
</script>

line 可以设置每次滚动的行数,你可以设置每次滚动一行或者多行

参数说明

  • line: 4, //每次滚动的行数

  • speed: 500, //卷动速度,数值越大,速度越慢(毫秒)

  • timer: 1000 //滚动的时间间隔(毫秒)