[英]How to do something with jquery after the DOM is ready but before the UI is rendered?
我有一個jQuery腳本,它可以更改<img>
和其他一些頁面元素的src屬性。
我的腳本使用$()
連接到文檔就緒回調。 當我刷新頁面時,我看到原始內容半秒鍾。 我想避免這種情況。
有沒有辦法為我的腳本來執行后 DOM是准備好,但它之前被渲染?
不是真的,但你可以很好地假裝它。 嘗試將圖像設置為display ='none'。 設置src屬性后,可以使用$('#myImage')。show()顯示圖像。
我不認為這是可能的。 目前,瀏覽器在DOM構建完成之前就開始渲染UI。
渲染后我會立即隱藏身體......
<body>
<script type="text/javascript">document.body.style.display = 'none';</script>
然后在jQuery代碼執行后顯示它...
$(document).ready(function() {
// Whatever you gotta do here
document.body.style.display = '';
});
這將確保您的網站在禁用Javascript時正常運行。
使用CSS屬性隱藏您不想顯示的內容:
display: none;
或者如果您不想弄亂頁面的布局:
visibility: hidden;
由於網頁的性能取決於UI的呈現速度,因此很難延遲呈現UI的整個過程。 標簽通常會阻止UI的呈現,因為Javascript解釋器會通過您的代碼,但這種情況可能發生得如此之快,以至於您無法獲得所需的功能。
順便說一句,您通常可以在關閉標簽后立即訪問該元素。 但是,在較大的復合元素(如div)上,它可能已經開始渲染。
<img src="nothin.jpg" id="dynamicImage" />
<script type="text/javascript">$('#dynamicImage').hide();</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.