2011-12-07 10 views
0

これは私のウェブです:http://www.alvaromillan.esです。 私はほとんどすべてを証明しましたが、読み込みにはまだ時間がかかりすぎています...私はこの問題がすべての画像をロードするjavascriptである可能性があると思っています...私はこのjavascriptをユーザがサムネイル(このjavascriptはライトボックスですが)私はそれを行う方法を知らない。私は怠惰な負荷とオンデマンドについて読んだことがあるが、それを得ることができなかった...しかし、私は怠惰な、またはオンデマンドのものをやりたいと思っている...あなたは私を助けてくれますか?レイジーローディングまたはオンデマンド

今、私はこのコードを持っていますが、これが唯一のこのスクリプトは非常に最後に実行されていることを述べている:あなたはhtmlページの一番下にスクリプトを置く場合

<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

、それはすぐに実行し、なりますページのすべてにアクセスできます。

onloadとは対照的に、DOMContentLoadedを使用することもできます。これは、すべての画像がロードされるのを待つためです。

<!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

関連する問題