您的位置:首页 > Web前端 > JQuery

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

2014-03-31 09:48 330 查看
<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对象 可为任意名称
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: