2011-12-07 67 views
0

這是我的網絡:http://www.alvaromillan.es。 我已經證明幾乎一切,但加載仍然需要太長時間...我認爲問題可能是加載所有圖像的JavaScript ...我想這個JavaScript被加載只是當用戶點擊縮略圖(這個JavaScript是一個燈箱),但我不知道該怎麼做。我讀過關於延遲加載和點播的內容,但我無法得到它......但我想要做懶惰或點播的東西......你能幫我嗎?延遲加載或按需加載

現在我有這樣的代碼,但是這只是說,這個腳本是在最後執行:

<script type="text/javascript" src="js/fadeslideshow.js"> 
    function downloadJSAtOnload(){ 
     var element=document.createElement("script"); 
     element.src="js/fadeslideshow.js";document.body.appendChild(element); 
    } 
    if(window.addEventListener) 
     window.addEventListener("load",downloadJSAtOnload,false); 
    else if(window.attachEvent) 
     window.attachEvent("onload",downloadJSAtOnload); 
    else 
     window.onload=downloadJSAtOnload; 
</script> 

回答

0

如果你把腳本的HTML頁面的底部,它會立即執行,並能夠訪問頁面上的所有內容。

另一種方法是使用DOMContentLoaded而不是onload,因爲後者等待所有圖像加載。

<!DOCTYPE html> 
<html> 
    <head> 
     <title></title> 
     <link type="text/css" href="style.css" rel="stylesheet"/> 
    </head> 
    <body> 


     <div id="element"> 
      Howdy 
     </div> 


     <script> 
      alert("That div says " + document.getElementById("element").innerHTML); 
     </script> 

    </body> 
</html> 
+0

我不明白。你的意思是我應該改變所有onLoad並把DOMContentLoaded? – user1051400

+0

是的,或者只是將腳本放在頁面底部;該腳本將在html加載完成之後和圖像加載完成之前運行。 –

+0

@JeffreySweeney:你提到'onLoad',這是不準確的(它應該是'onload' - 參見[本頁](https://developer.mozilla.org/En/Listening_to_events#Simple_DOM.c2.a0events) )。我已糾正它。 – Tadeck