zoukankan      html  css  js  c++  java
  • scroll.js

    基于jquery的无缝平滑滚动插件

    (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);

    使用方法

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

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

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

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

  • 相关阅读:
    正则表达式实例
    正则表达式理解
    Git初体验
    浏览器加载解析HTML、JS、CSS的过程
    iframe
    纯前端,html页面间传值方式:
    Visual Code 之使用
    seajs使用记
    VBA中Dictionary对象使用(Key,Value)
    存储过程和存储函数和触发器示例
  • 原文地址:https://www.cnblogs.com/yxrs/p/7853849.html
Copyright © 2011-2022 走看看