基于jquery的无缝平滑滚动插件
发布日期:2021-06-30 16:31:15 浏览次数:3 分类:技术文章

本文共 1623 字,大约阅读时间需要 5 分钟。

先引入jquery类库,后初始化插件参数,不设置即为默认值,初始化函数绑定在ul外层div上(需设置宽 / 高并overflow:hidden)

保证ul的宽或高超出外层div才会有效果

$('#scroll').myScroll({    speed:40,  //滚动速度,值越大速度越慢    rowHeight:24 //每行的高度})

注:以上为垂直滚动,如需水平滚动请修改插件相应参数("rowHeight"/"margin-top"/"width()")

(function($){    $.fn.myScroll = function(options){    //默认配置    var defaults = {        speed:40,  //滚动速度,值越大速度越慢        rowHeight:24 //每行的高度    };        var opts = $.extend({}, defaults, options),intId = [];        function marquee(obj, step){            obj.find("ul").animate({            marginTop: '-=1'        },0,function(){                var s = Math.abs(parseInt($(this).css("margin-top")));                if(s >= step){                    $(this).find("li").slice(0, 1).appendTo($(this));                    $(this).css("margin-top", 0);                }            });        }                this.each(function(i){            var sh = opts["rowHeight"],speed = opts["speed"],_this = $(this);            intId[i] = setInterval(function(){                if(_this.find("ul").height()<=_this.height()){                    clearInterval(intId[i]);                }else{                    marquee(_this, sh);                }            }, speed);            _this.hover(function(){                clearInterval(intId[i]);            },function(){                intId[i] = setInterval(function(){                    if(_this.find("ul").height()<=_this.height()){                        clearInterval(intId[i]);                    }else{                        marquee(_this, sh);                    }                }, speed);            });               });    }})(jQuery);

 

转载地址:https://kevin.blog.csdn.net/article/details/86156707 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Nginx是什么
下一篇:MySQL外键设置之Cascade、NO ACTION、Restrict、SET NULL

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月12日 04时46分38秒