2011-08-19 130 views
0

我有一個HTML頁面,其中包含一個用於替換HTML/CSS的JavaScript按鈕。JavaScript在HTML之後延遲渲染

但是,當頁面加載時,HTML/CSS加載和js'替換'之間會有一個令人討厭的延遲。 (我在談論的一個例子可以在網站上看到:www.psd2html.com)。什麼解釋了這種延遲,以及在用戶遇到延遲之前讓js加載(例如在Facebook或Youtube或任何其他擁有大量js的大型網站)方面的最佳做法。謝謝。

+0

你不能避免這種延遲,不應該試圖避免它。人們習慣於在網頁上看到一個接一個加載的元素,並且不會將其看作是一個錯誤,甚至不會看作是不雅的東西。我剛剛檢查了web2html,它對我來說看起來很好。 –

回答

0

爲了避免延遲定義replaceElement()功能<head>然後用內<body><script>標籤調用該函數後立即被替換的元素被加載:

... 
<div id="to_be_replaced_1">contents or whatever</div> 
<script type="text/javascript">replaceElement('to_be_replaced_1');</script> 
... 
some other content 
... 
<div id="to_be_replaced_2">contents or whatever</div> 
<script type="text/javascript">replaceElement('to_be_replaced_2');</script> 
... 
0

呃,實際上,那些回答「接受它可能更好」的人明白了道理。不過,有一些方法可以幫助您減少負面影響。

  • 想一想你想更改,裝飾,重繪,動態重繪的任何UI元素。我的意思是,必須有一個真正的原因,你爲什麼用不同的佈局替換javascript生成的UI元素。
  • 如果不是這個選項,如果因爲某些原因無法避免通過javascript替換,請嘗試使用一些視覺效果,一些轉換效果(不過可以通過css轉換獲得)一切正常的用戶心理證據,一切正常。分類禁用 - 禁用,但加載啓用隱喻。