1

img の src プロパティを変更しようとしているこの関数があります。Javascript は次のとおりです。

function transition(){
    document.getElementById("firstfirst").src = marray[currArrayValue];
    currArrayValue++;
    if(currArrayValue == array.length-1){
        currArrayValue = 0;
    }
    setTimeout(transition(), 1000);
}

私のGoogle Chromeコンソールは、document.getElementById("firstfirst")が存在しないと言っていますが、間違いなく存在します。HTMLは次のとおりです。

<div id="banners-container">
    <div id="banners">
        <img src="images/banners/top-banner-one.png" id="firstfirst" alt="Subscribe now to get access to thousands of vintage movies!" border="0">
    </div>
</div>

何を与える?

4

2 に答える 2

0

Javascript は、解析されるとすぐに実行されます。

JS が<head>Web ページに含まれている場合は、ドキュメントの本文が解析されて DOM が構築される前に実行されます。

そのため、DOM が読み込まれるまでコードが実行されないようにコードを設計する必要があります。DomContentLoaded イベントに関するMDN ドキュメントを参照することをお勧めします。または、これをまとめてくれる多くの JavaScript ライブラリの 1 つを使用することもできます。

于 2013-01-18T19:05:58.953 に答える
-1

クロムが要素がnullであると言う場合、それはnullです。おそらく、要素がDOMにロードされる前に関数を呼び出しています。要素タグの前に head タグで関数を呼び出すようなものです。

このようなことを試してください。

<html>
   <head>
   <script>
      function F () { /*reach element*/ }
   </script>
</head>
<body>
   //The element
</body>
<script>
   F ();
</script>
</html>
于 2013-01-18T19:08:15.763 に答える