イベントハンドラについてはJavaScriptのレッスンを受けていますが、開始時には非常に基本的なものがgetElementById()
です。以下は私のHTMLとJavaScriptコードです。次のコードにはイメージタグもありますが、私は新しいユーザーであるため、正確な方法で投稿することができませんでした。したがって、src
タグを完全に苦情とみなすことを検討してください。getElementById()は常にNULLステータスを表示しています
<div class="considerVisiting">
<img src="images/bq-twitter" id="mainImage" alt="BeQRious Twitter">
</div>
、ここでJavaScriptのコードです:
var myImage = document.getElementById("mainImage");
var imageArray = [images/1-btn, images/download-as-you-like];
var imageIndex = 0;
function changeImage() {
myImage.setAttribute("src",imageArray[imageIndex]);
imageIndex++;
if (imageIndex >= imageArray.length) {
imageIndex=0;
}
}
setInterval(changeImage, 5000);
このコードはmainImageピクチャー5秒ごとに変更されます。しかし、私が直面している問題は、MozillaでFireBugを使ってこのスクリプトを実行すると、以下のようになります:
> Error : myImage is Null
スクリプトに関しては何も起こりません。
JavaScriptが実行される前にDOM *に要素が存在しますか? (ブラウザがブラウザに遭遇するとすぐにJavaScriptが実行されることに注意してください)、 'document.ready'イベントハンドラでラップしましたか?あるいは、JSをページの最後の 'script'ブロックに入れてみましたか?それで、DOMを組み立てた後に実行されますか? –
あなたの 'img'要素(あなたのソースにある)の属性が' id'ですか? Internet ExplorerにはIDの代わりに名前に一致するバグがありますが、他のブラウザは正しく不平を言うでしょう。 – scunliffe