jQuery中添加自定义或函数方法

<script type="text/javascript">
    (function () {
        $.fn.parHy = function (val) {
            alert(val + "hy");
        }
        $.extend({
            setHy: function (val) {
                alert(val + "ex");
            }
        });
        $.parYh = function (val) {
            alert(val + "yh");
        }
       
    }
)();
    $("#div1").parHy('123');
    $.setHy('123');
    $.parYh('123');
</script>
方法一:
   jQuery.fn.setApDiv=function () {
        //apDiv浮动层显示位置居中控制
        var wheight=$(window).height();
        var wwidth=$(window).width();
        var apHeight=wheight-$("#apDiv").height();
        var apWidth=wwidth-$("#apDiv").width();
        $("#apDiv").css("top",apHeight/2);
        $("#apDiv").css("left",apWidth/2);
    }
调用方法:$("#apDiv").setApDiv();

--------------------------------------------------------------------------------
方法二:
      //jQuery 应用扩展
      jQuery.extend({
              // 设置 apDiv
            setApDiv:function () {
            //apDiv浮动层显示位置居中控制
            var wheight=$(window).height();
            var wwidth=$(window).width();
            var apHeight=wheight-$("#apDiv").height();
            var apWidth=wwidth-$("#apDiv").width();
            $("#apDiv").css("top",apHeight/2);
            $("#apDiv").css("left",apWidth/2);
            }
      });
调用方法:$.setApDiv();
总结 一种如$.extend({'aa':function(){}}),这种调用时就是这样$.aa(),另一种如$.fn.extend({'aa':function(){}}),这种调用时就得这样,$(this).aa() 
--------------------------------------------------------------------------------
方法三:
     
     $.postJSON = function(url, data, callback) {
  $.post(url, data, callback, "json");
 };
调用方法:$.postJSON('/post/getsecurejsonpost',{}, function(data) {});

Jquery定义对象( 闭包)

例一:添加对象的静态属性

声明一个对象$.problemWo,添加一个b的静态属性和myclick的静态方法。

(function ($) {
    $.problemWo = function () { };
    $.extend($.problemWo,
             { b: 5 },
             { myclick: function () { alert("c") } }
            );
})(jQuery);

alert($.problemWo.b);
$.problemWo.myclick();

例二:添加对象的动态属性

声明一个对象$.problemWo,添加一个a的实例属性和myclick的实例方法。

(function ($) {
    $.problemWo = function () {
        this.a = "abc"
    };
    $.extend($.problemWo.prototype, 
{myclick: function () { alert(this.a); }}
); })(jQuery); var obj = new $.problemWo() obj.myclick();

备注:其中$.problemWo对象 可为任意名称

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