js简单插件类

Posted .NET求学者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js简单插件类相关的知识,希望对你有一定的参考价值。

 

//数据滚动 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简单插件类的主要内容,如果未能解决你的问题,请参考以下文章

vscode代码片段生成vue模板

js简单插件类

angularJS使用ocLazyLoad实现js延迟加载

为啥vscode中.js文件没有片段提示,但是.html文件有提示?

Jquery插件 easyUI属性汇总

sublime text 3 添加代码片段