2016-05-11 3 views
0

私はJavaScript(jqueryなし)で単純にスライダを作成しようとしています。単にJSのスライダが動作しない

<ul> 
     <li class="slider"><img src="images/1.jpg" alt="asd" width="600px" height="400px" /></li> 
     <li class="slider"><img src="images/2.jpg" alt="asd" width="600px" height="400px" /></li> 
     <li class="slider"><img src="images/3.jpg" alt="asd" width="600px" height="400px" /></li> 
     <li class="slider"><img src="images/4.jpg" alt="asd" width="600px" height="400px" /></li> 
     <li class="slider"><img src="images/5.jpg" alt="asd" width="600px" height="400px" /></li> 
     <li class="slider"><img src="images/6.jpg" alt="asd" width="600px" height="400px" /></li> 
     <li class="slider"><img src="images/7.jpg" alt="asd" width="600px" height="400px" /></li> 
</ul> 

は、それは私のスクリプトです::キャッチされない例外TypeError:

var s = document.getElementsByClassName('slider'); 
function hide() 
{ 
    for(var i = 0; i < s.length; i++) 
    { 
     s[i].style.display = "none"; 
    } 
} 

var i = 0; 
function sw() 
{ 
    hide(); 
    s[i].style.display = "block"; 
    i++; 
    if (i >= s.length) i = 0; 
} 
hide(); 
sw(); 
setInterval(sw, 1000); 

Log.consoleが私にこのエラーを示し、未定義のプロパティ 'スタイル' を読み取ることができません 私は番号なしリストと.xhtmlページを持っています。

+0

あなたのHTMLにはJSを追加していますか? –

+0

外部ファイルmain.jsそのXHTML – Risksec7

+0

あなたのスクリプトタグはどこですか?それは頭の中ですか?体の底?その間のどこかに? –

答えて

0

あなたは要素がロードされる前にすべての要素をつかみようとしています。 <script>タグを<body>の下部に移動します。これにより、要素がDOMにロードされます。

<body> 
    <ul> 
    <li class="slider"></li> 
    ... 
    </ul> 
    <script src="javascript/main.js"></script> 
</body> 
関連する問題