次のコードは、HeadFirstjQueryという本に記載されています。
function lightning_one(t) {
$("#lightning1").fadeIn(250).fadeOut(250);
setTimeout("lightning_one()", t);
}; // end lightning_one
この行で呼び出されます。
lightning_one(3000);
観察された動作は、稲妻が1回フェードインおよびフェードアウトし、3秒間待機し、再びフェードインおよびフェードアウトしてから、フェードインおよびフェードアウトを続けることです。Firebugはjavascriptエラーを表示しません。
私は自分が見ているものを見る理由を理解しています。3秒間隔を維持しようと思ったので、これを変更しました。
setTimeout("lightning_one()", t); // nothing in the brackets
これに:
setTimeout("lightning_one(t)", t); // t is in the brackets
ページを更新すると、稲妻が1回フェードインおよびフェードアウトします。Firebugは、変数tが未定義であることを教えてくれます。
私の質問は、変数tが変更後に定義されていない場合、変更する前にコマンドをエラーなしでどのように実行したかということです。それはまだtという名前の変数を持っています。
より詳しい情報
コメントと回答を書いてくださった皆様、ありがとうございました。記録として、「end」フォルダのコードは次のようになります。
lightning_one();
function lightning_one(){
$("#container #lightning1").fadeIn(250).fadeOut(250);
setTimeout("lightning_one()",4000);
};
該当する章をまだ終えていないので、後でコードの変更が提案されるかどうかはわかりません。先に述べたように、これは世の中で最高の本ではないかもしれません。しかし、それは私が購入したものであり、それからjQueryの基礎を学んでいます。