這是代碼。jQuery,準備好的隱藏元素始終在頁面加載時跳躍。這怎麼可以避免?
我不能申請display:none;
$(document).ready(function() {
$("#LeftNav li.navCatHead").not(":first").siblings("li").hide().end().end().first().addClass("open");
});
這是代碼。jQuery,準備好的隱藏元素始終在頁面加載時跳躍。這怎麼可以避免?
我不能申請display:none;
$(document).ready(function() {
$("#LeftNav li.navCatHead").not(":first").siblings("li").hide().end().end().first().addClass("open");
});
謝謝,順便說一句這篇文章是非常有幫助的,但它的解決方案仍然相當有限 – adardesign 2010-05-02 19:58:29
代替將display:none
的,(叫$.hide()
),如何更換你試圖隱瞞與被設置爲相同大小的空div項目爲任何你試圖隱藏?
我經常發現display:none;
的一個不錯的選擇是在加載時將不透明度設置爲0。
$("#LeftNav li.navCatHead").not(":first").siblings("li").css('opacity','0').end().end().first().addClass("open");
但是不是有這麼長的字符串,找到選擇,我想補充一個新的類,以每個人並將其設置爲opacity: 0;
頁面加載,因爲它會更快得多。
爲什麼你不能設置「display:none」?不知道你的情況,但你可能可以扭轉一點點的工作流程
而不是顯示列表最初,然後隱藏某些條件的基礎上,一開始試試隱藏(顯示:無)列表,然後顯示某些基於某種條件。
這樣你就不會以某些元素「顯示然後消失」結束。
不要等到文件準備好。您可以將jQuery代碼放置在頁面底部的關閉主體標籤之前,或者緊跟在有問題的元素之後。
<!-- ...other code... -->
<li>Sibling</li>
</ul>
<script type="text/javascript">
// this should work...
$("#LeftNav li.navCatHead").not(":first").siblings("li").hide().end().end().first().addClass("open");
</script>
<div class='content'>more stuff.</div>
</body>
</html>
聽起來不錯,我必須嘗試這個! – adardesign 2010-04-29 19:04:09
使用CSS將是我的建議,但你說你不能? – cletus 2010-04-29 15:40:12
你可以在#leftNav div上設置任何CSS,或者只是不顯示:none? – OneNerd 2010-04-29 16:13:15