锋利的jQuery--关于$(document).ready()函数及jQuery代码风格
jQuery代碼:
$(document).ready(function(){
//jQuery代碼
});
在該函數(shù)內(nèi)的所有代碼都將在DOM加載完畢后,頁(yè)面全部?jī)?nèi)容(包括圖片等)完全加載完畢前被執(zhí)行。
window.onload與$(document).ready()的對(duì)比:
1、執(zhí)行時(shí)機(jī):
window.onload方法:必須等網(wǎng)頁(yè)中的所有內(nèi)容加載完成后(包括圖片和關(guān)聯(lián)文件)才能執(zhí)行。
$(document).ready()方法:網(wǎng)頁(yè)中所有的DOM結(jié)構(gòu)繪制完畢后就執(zhí)行,可能DOM元素關(guān)聯(lián)的東西并沒(méi)有加載完。
2、編寫(xiě)個(gè)數(shù):
window.onload方法:不可以同時(shí)編寫(xiě)多個(gè),不然會(huì)只執(zhí)行最后一個(gè)。
$(document).ready()方法:能夠編寫(xiě)多個(gè),結(jié)果依次輸出。
3、簡(jiǎn)寫(xiě)方法:
window.onload方法:無(wú)簡(jiǎn)寫(xiě)。
$(document).ready()方法:可以簡(jiǎn)寫(xiě)成:$(function(){
//jQuery代碼
});
二、jQuery代碼風(fēng)格
1、鏈?zhǔn)讲僮黠L(fēng)格
(1)對(duì)于同一對(duì)象不超過(guò)3個(gè)操作的,可以直接寫(xiě)成一行。
eg:
$("li").show().unbind("click");
(2)對(duì)于同一個(gè)對(duì)象的較多操作,建議每行寫(xiě)一個(gè)操作。
eg:
$(this).removeClass("mouseout")
.addClass("mouseover")
.stop()
.fadeTo("fast",0.6)
.fadeTo("fast",1)
.unbind("click")
.click(function(){
//do something...
})
(3)對(duì)于多個(gè)對(duì)象的少量操作,可以每個(gè)對(duì)象寫(xiě)一行,如果涉及子元素,可以考慮適當(dāng)?shù)目s進(jìn)。
eg:
$(".has_children").click(function(){
?? ??? ??? ??? $(this).addClass("highlight")
?? ??? ??? ???? .children("a").show().end()
?? ??? ?? ? ? ? .siblings().removeClass("highlight")
?? ??? ??? ? ?? .children("a").hide();
?? ??? ?});
(4)對(duì)于多個(gè)對(duì)象的較多操作,建議結(jié)合第2、3條。
2、為代碼添加注釋
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/wuqin/p/6492288.html
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的锋利的jQuery--关于$(document).ready()函数及jQuery代码风格的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Ne10编译安装
- 下一篇: jquery-懒加载技术(简称lazyl