私は回転するヘッダー画像のあるサイトを持っています(あなたはそれらをすべて見ました)。私は次のことをしたい:
- ページ全体と最初のヘッダー画像を読み込む
- x秒ごと、または次の画像の読み込みが完了したときのいずれか遅い方で、ヘッダー画像のスライドショーの遷移を開始します
本当にこれを行う例は本当に必要ありません。
私は回転するヘッダー画像のあるサイトを持っています(あなたはそれらをすべて見ました)。私は次のことをしたい:
本当にこれを行う例は本当に必要ありません。
あなたが試すことができます
$(function()
{
$(window).bind('load', function()
{
// INSERT YOUR CODE THAT WILL BE EXECUTED AFTER THE PAGE COMPLETELY LOADED...
});
});
私は同じ問題を抱えていました、そしてこのコードは私のために働きました。それがあなたにとってもどのように機能するか!
最初はjqueryのdocument.ready関数で実現できます
$(document).ready(function(){...});
変化するイメージは、任意の数のプラグインで実現できます
必要に応じて、画像が完全なプロパティでロードされているかどうかを確認できます。少なくともmalsupjqueryサイクルのスライドショーはこの関数を内部的に利用していることを私は知っています。
$(document).ready(...)についてはすでにご存知でしょう。必要なのはプリロードメカニズムです。見せびらかす前にデータ(テキストや画像など)をフェッチするもの。これにより、サイトをよりプロフェッショナルに感じさせることができます。
jQuery.Preloadを見てください(他にもあります)。jQuery.Preloadには、プリロードをトリガーするいくつかの方法があり、コールバック機能も提供します(イメージがプリロードされたときに表示します)。私はそれを頻繁に使用しました、そしてそれは素晴らしい働きをします。
jQuery.Preloadの使用を開始するのは簡単です。
$(function() {
// First get the preload fetches under way
$.preload(["images/button-background.png", "images/button-highlight.png"]);
// Then do anything else that you would normally do here
doSomeStuff();
});
$(document).readyメカニズムは、DOMが正常にロードされた後に起動することを目的としていますが、ページによって参照される画像の状態については保証されません。
疑わしい場合は、古き良きwindow.onloadイベントにフォールバックしてください。
window.onload = function()
{
//your code here
};
さて、これは明らかにjQueryアプローチよりも遅いです。ただし、次の中間のどこかで妥協することができます。
$(document).ready
(
function()
{
var img = document.getElementById("myImage");
var intervalId = setInterval(
function()
{
if(img.complete)
{
clearInterval(intervalId);
//now we can start rotating the header
}
},
50);
}
);
少し説明すると:
画像を完全にロードしたい画像のDOM要素を取得します
次に、50ミリ秒ごとに起動する間隔を設定します。
これらの間隔のいずれかで、この画像の完全な属性がtrueに設定されている場合、間隔はクリアされ、回転操作を安全に開始できます。
これを試しましたか?
$("#yourdiv").load(url, function(){
your functions goes here !!!
});
jQueryに関数を渡すと、ページが読み込まれるまで実行されません。
<script type="text/javascript">
$(function() {
//your header rotation code goes here
});
</script>