• jquery点击按钮上下滚动


    (function ($) {
        $.fn.extend({
            Scroll: function (opt, callback) {
                if (!opt) var opt = {};
                var _btnUp = $("#" + opt.up); //Shawphy:向上按钮
                var _btnDown = $("#" + opt.down); //Shawphy:向下按钮
                var _this = this.eq(0).find("ul:first");
                var lineH = _this.find("li:first").height(); //获取行高
                var line = opt.line ? parseInt(opt.line, 10) : parseInt(this.height() / lineH, 10); //每次滚动的行数,默认为一屏,即父容器高度
                var speed = opt.speed ? parseInt(opt.speed, 10) : 600; //卷动速度,数值越大,速度越慢(毫秒)
                var m = line;  //用于计算的变量
                var count = _this.find("li").length; //总共的<li>元素的个数
                var upHeight = line * lineH;
                function scrollUp() {
                    if (!_this.is(":animated")) {  //判断元素是否正处于动画,如果不处于动画状态,则追加动画。
                        if (m < count) {  //判断 m 是否小于总的个数
                            m += line;
                            _this.animate({ marginTop: "-=" + upHeight + "px" }, speed);
                        }
                    }
                }
                function scrollDown() {
                    if (!_this.is(":animated")) {
                        if (m > line) { //判断m 是否大于一屏个数
                            m -= line;
                            _this.animate({ marginTop: "+=" + upHeight + "px" }, speed);
                        }
                    }
                }
                _btnUp.bind("click", scrollUp);
                _btnDown.bind("click", scrollDown);
            }
        });
    })(jQuery);
    $(function () {
        $("#exp_list").Scroll({ line: 1, speed: 500,up: "btn1", down: "btn2" });
    });

     原文链接:http://caibaojian.com/jquery-extend-and-jquery-fn-extend.html

    jQuery.fn.extend(object);

    这个是涉及到jQuery插件开发的方法。

    对jQuery.prototype进得扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。

     jQuery.fn.extend()的调用把方法扩展到了对象的prototype上,所以实例化一个jQuery对象的时候,它就具有了这些方法。你可以拓展一个对象到jQuery的 prototype里去,这样的话就是插件机制了。

    另外一个插件开发方法是 jQuery.extend(object); 

     jQuery.extend(object); 

    类级别你可以理解为拓展jquery类,最明显的例子是$.ajax(...),相当于静态方法。 

    $.extend({ 
        add:function(a,b){return a+b;} , 
        minus:function(a,b){return a-b;} 
    }); 
    
    //调用:
    var i = $.add(3,2); 
    var j = $.minus(3,2); 
  • 相关阅读:
    定时备份脚本
    NFS+inotify实时同步
    pxe+kickstart自动化安装
    LVS负载均衡DR模式
    Rsync文件同步服务
    NFS文件共享服务
    MySQL-5.5.49安装、多实例、主从复制
    PHP-5.3.27源码安装及nginx-fastcgi配置
    一文解读5G (转)
    一文解读VR/AR/MR (转)
  • 原文地址:https://www.cnblogs.com/dodocie/p/7048452.html
Copyright © 2020-2023  润新知