3

画像がプリロードされた後に実行されるある種のコールバックコードを作成しようとしています。

私のJSコードは次のとおりです。

<script type='text/javascript'>
d=document;
window.onload=function()
{
   if (d.images)
   {
      d.getElementById('preload').style.display='block';
      i1=new Image;
      i1.src="http://link_to_image";
      d.getElementById('preload').style.display='none';
   }
}
</script>

したがって、私の例でd.getElementById('preload').style.display='none';は、画像がキャッシュに完全にロードされた後に実行する必要があります。

これを達成する方法について何か助けはありますか?ライブラリ/プラグインの要件がないスタンドアロンのJavaScriptソリューションのみを使用してください。

4

3 に答える 3

6

すべてのブラウザで画像イベントがどれほど信頼できるかわからないのでonload、これを非常に注意深くテストします。

var i1 = new Image();

i1.onload = function() {
   d.getElementById('preload').style.display = "none";
};

i1.src = "http://link_to_image";
于 2010-02-04T15:01:32.440 に答える
1

この記事を見てください、私はそれが役立つと思います:リンクテキスト

JavaScriptの他の多くのオブジェクトと同様に、Image()オブジェクトにもいくつかのイベントハンドラーが付属しています。これらの中で最も便利なのは、間違いなくonLoad()ハンドラーです。これは、画像の読み込みが完了したときに呼び出されます。

于 2010-02-04T14:56:42.763 に答える
1

画像タグ自体でonloadを使用します。

<img src="http://link_to_image" onload="alert('IMG LOADED')" />
于 2010-02-04T15:00:40.533 に答える