0
A
回答
2
如果您正在尋找更簡潔的代碼,您可以進行多項改進,you can see a full updated sample here。我將列出您可以在下面保存代碼的主要區域(當然,對於相同的功能)。
主要位:
$($li).children('a').after(
$(document.createElement('span'))
.html(" toggler ")
.addClass("gm-toggler")
.hide()
);
可縮短至......
$li.children('a').after(
$('<span>', { html: " toggler ", 'class': "gm-toggler"}).hide()
);
這...
$li.hover(function() {
$('.gm-toggler', this).show();
}, function(){
$('.gm-toggler', this).hide();
});
可縮短至...
$li.hover(function(){
$('.gm-toggler', this).toggle();
});
這...
if($(this).parent('li').hasClass('active')){
// ... remove its active class ...
$(this).parent('li').removeClass('active');
} else {
// ... otherwise give it an active class.
$(this).parent('li').addClass('active');
}
可縮短至....
$(this).parent('li').toggleClass('active');
它可能更好地問你有哪些部位上,相關文檔問題我使用的方法可以在這裏找到:.toggle()
,.toggleClass()
,jQuery(html, props)
。
0
看起來寫得很好,很好的工作!唯一的小事情,我發現可以改進的是第17行,更改:
.html(" toggler ")
到:左側
.text("toggler")
,然後墊.gm-toggler
,右與CSS。
使用.html
依靠.innerHTML
和會比標準的JavaScript文本插入較慢(但它寫出來的
作爲文本,因此填充,這是無論如何分離呈現更好)。
此外,在此之前的行,你可以說$('<span>')
和jQuery將構建完全按照你寫的。更具可讀性。
相關問題
- 1. 在jQuery的建設toggler
- 2. jQuery的效率
- 3. jQuery效率低下?
- 4. jQuery綁定效率
- 5. 結合jquery的效率
- 6. 更有效率的jquery
- 7. jQuery/Javascript框架的效率
- 8. Firefox Jquery appendTo效率低下?
- 9. jQuery選擇器,效率
- 10. jQuery懸停動畫效率
- 11. jquery展開崩潰效率
- 12. jQuery鏈接/效率建議
- 13. 算法效率vs效率
- 14. jquery選擇器的問題和效率
- 15. jQuery的CSS和動畫功能效率
- 16. jQuery/JavaScript緩存元素的效率?
- 17. 效率的Java
- 18. CoffeeScript的效率
- 19. syscall的效率
- 20. Postgres的效率
- 21. Wordpress-toggler將其他元素推開頁
- 22. jquery加載頁面片段效率 - codigniter
- 23. jQuery UI選擇 - 幫助效率低下
- 24. jQuery風格重新應用效率
- 25. jQuery「$(this)」:重複使用效率高嗎?
- 26. jQuery事件綁定效率問題
- 27. 有關jQuery選擇內容效率
- 28. iOS效率文件節省效率
- 29. 編碼效率VS執行效率
- 30. SQL中的效率
你在殺我Nick。 +:P – mVChr 2010-05-27 21:38:11
謝謝尼克。這正是我所期待的。我唯一的問題是你的創建span的方法是否比document.createElement()更有效率。 – S16 2010-05-27 22:40:09
@ Greg-J - 無論哪種方式都有一個*非常小的差異,只是一個更簡潔的語法方式,如果你正在創建* lot *,那麼它將會更快,因爲創建的元素是緩存和克隆,如果你做了'$(' toggler '''),它會快得多,因爲你從緩存中獲得更多的好處。 – 2010-05-27 22:52:49