js简单插件类

2021-01-17 05:13

阅读:774

标签:row   clear   jquery   parse   remove   定时器   end   nbsp   int   

 

//数据滚动 div框 ul滚动 li
(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).children("li:first").remove();
                    //$(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 () {
                clearInterval(intId[i]);
                intId[i] = setInterval(function () {
                    if (_this.find("ul").height()  _this.height()) {
                        clearInterval(intId[i]);
                    } else {
                        marquee(_this, sh);
                    }
                }, speed);
            });

        });

    }

})(jQuery);

//调用
 var scrollOpt = {
                        speed: 40,  //滚动速度,值越大速度越慢
                        rowHeight: 40 //每行的高度
                    }
$(‘#div_gridBody‘).myScroll(scrollOpt);

 

var pic = $("pic");
var leader = 0;
var target = 0;
var timer = null; // 定时器
var top = pic.offsetTop; // 50
window.onscroll = function() {
    clearInterval(timer);
    target = scroll().top + top; // 把最新的 scrolltop 给  target
    timer = setInterval(function() {
        leader = leader + (target - leader) / 10;
        pic.style.top = leader + ‘px‘;
    }, 30)
}

 

js简单插件类

标签:row   clear   jquery   parse   remove   定时器   end   nbsp   int   

原文地址:https://www.cnblogs.com/elves/p/13371124.html


评论


亲,登录后才可以留言!