強大的JQuery-自定義插件

====jQuery插件編寫原則=====
1.命名 jQuery.<插件名>.js
2.插件內部,this指向的是當前選擇器取得的JQuery對象,不是內部對象, 例如click(), 內部的this指向的是DOM元素
3.this.each可以遍歷所有元素
4.插件頭部加分號,防止壓縮的時候出問題
5.採用閉包寫法

;(function($){ //$是jQuery對象
/代碼塊/
})(jQuery);

=====jQuery.fn.extend()和jQuery.extend()區別=======

jQuery.fn.extend() 封裝對象方法,例子如下

<html xmlns="http://www.w3.org/1999/xhtml"&gt;
<head>
<title>extend : color</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
.a{
color : red;
}
</style>
<script type="text/javascript" src="../../scripts/jquery.js"></script>
<script type="text/javascript">
//插件編寫
;(function($) {
jQuery.fn.extend({
"color":function(value){
return this.css("color",value);
}
});
})(jQuery);

//插件應用
$(function(){
    //查看第一個div的color樣式值
    alert($("div").color()+"\n返回字符串,證明此插件可用。");  
    //把所有的div的字體顏色都設爲紅色
    alert( $("div").color("red")+"\n返回object證明得到的是jQuery對象。");
})
</script>

</head>
<body>
<div class="a">red</div>
<div style="color:blue">blue</div>
<div style="color:green">green</div>
<div style="color:yellow">yellow</div>

</body>
</html>

jQuery.extend()

擴展JQuery對象,封裝全局函數,或者選擇器插件,常用於設計插件的一系列默認參數,例子如下

var setting = {a:1,b:2,c:3}
var option = {a:9,b:8}
var newJSON = jQuery.extend(setting,option);
結果是newJSON = {a:9,b:8,c:3}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章