2012-04-18 8 views
1

基本的に、私がやっていることは、いくつかのJavaScriptコードを使って画像をシャッフルすることです。現在の画像の表示スタイルをblockに変更し、同時に前の画像をnoneに変更するだけです。カスタムイメージシャッフルが動作しませんか?

HTMLコード:

<body> 
<img src="http://bit.ly/yOqqbg" id="image1" style="display: block;"> 
<img src="http://bit.ly/dezBUZ" id="image2" style="display: none;"> 
<img src="http://bit.ly/IvM5HE" id="image3" style="display: none;"> 
</body>​ 

JavaScriptコード:

var id = ["image1", "image2", "image3"]; //Array with the id's in the document you want   
to shuffle through 
var i = 0; //Set inital array element 
initiateTimer(); //Get the loop going 

function initiateTimer() {  
if (i > id.length) { 
    i = 0; 
    initiateTimer(); 
} 
setTimeout(function() { changeElement(); }, 2000); //2000 = 2 seconds 
} 

function changeElement() { 
if (id === 0) { 
    document.getElementById(id[2]).style.display = 'none'; 
    document.getElementById(id[i]).style.display = 'block'; 
} else { 
    document.getElementById(id[i - 1]).style.display = 'none'; 
    document.getElementById(id[i]).style.display = 'block'; 
} 
i += 1; 
initiateTimer(); 
} ​ 

答えて

0

あなたは問題

if (i > id.length) { 

if (i >= id.length) { 
01になるはずがありますとき

更新日:http://jsfiddle.net/HgNuc/

+0

ありがとうございます、それは現在の問題ではありません。現在のところ、問題はまったく実行されないということです。何も起こりません。 – user1340073

+0

移動 'initiateTimer(); //ループをスクリプトの最下部に移動すると、スコープ内にありますが、呼び出す時点で割り当てられていません。 –

+0

このヒントはありがたいですが、運がまだありません。 – user1340073

関連する問題