8. 使用自定義的刪除方法
你可能聽到過jQuery的刪除插件,它能夠允許你給你的動畫添加特效。唯一的缺點是你的訪問者需要加載另外一個javascript文件。幸運的是,你可以簡單的從插件拷貝效果,并且添加到jQuery.easing對象中,如下:
$.easing.easeInOutQuad = function (x, t, b, c, d) {
if ((t/=d/2) < 1) return c/2*t*t + b;
return -c/2 * ((--t)*(t-2) - 1) + b;
};
// To use it:
$('#elem').animate({width:200},'slow','easeInOutQuad');
9. $.proxy()
使用callback方法的缺點之一是當執(zhí)行類庫中的方法后,context被設置到另外一個元素,例如:
<div id="panel" style="display:none">
<button>Close</button>
</div>
執(zhí)行下面代碼:
$('#panel').fadeIn(function(){
// this points to #panel
$('#panel button').click(function(){
// this points to the button
$(this).fadeOut();
});
});
你將遇到問題,button會消失,不是panel。使用$.proxy方法,你可以這樣書寫代碼:
$('#panel').fadeIn(function(){
// Using $.proxy to bind this:
$('#panel button').click($.proxy(function(){
// this points to #panel
$(this).fadeOut();
},this));
});
這樣才正確的執(zhí)行。$.proxy方法接受兩個參數(shù),你最初的方法,還有context。這里閱讀更多$.proxy in the docs.。
10. 判斷頁面是否太過復雜
一個非常簡單的道理,約復雜的頁面,加載的速度越慢。你可以使用下面代碼檢查一下你的頁面內容:
console.log( $('*').length );
以上代碼返回的數(shù)值越小,網(wǎng)頁加載速度越快。你可以考慮通過刪除無用多余的元素來優(yōu)化你的代碼
11. 將你的代碼轉化成jQuery插件
如果你要花一定得時間去開發(fā)一段jQuery代碼,那么你可以考慮將代碼變成插件。這將能夠幫助你重用代碼,并且能夠有效的幫助你組織代碼。創(chuàng)建一個插件代碼如下:
(function($){
$.fn.yourPluginName = function(){
// Your code goes here
return this;
};
})(jQuery);
你可以在這里閱讀更多開發(fā)教程。