2013-07-31 71 views
1

我在我的計算機的文件夾中有五個圖像,我試圖創建一個在屏幕上顯示圖像的腳本,當我單擊按鈕時圖像發生變化。簡單的腳本不運行

的JavaScript代碼:

function cambiaimagen() 
{ 
var i=1; 
var direcciones = new    
    Array("imagen1.jpg","imagen2.jpg","imagen3.jpg","imagen4.jpg","imagen5.jpg"); 
var vusr = document.getElementById('imgs').value; 
document.getElementById('imgs').innerHTML = vusr; 
} 

的HTML代碼:

<div id="contenedor"> 

<div id="img"> 
<img id="imgs" src="imagen1.jpg"/> 
</div> 

<button type="button">Anterior</button> 
<button type="button" onclick = 'cambiaimagen()'>Siguiente</button> 

</div> 

當我運行該腳本,我看像1和按鈕。但是當我點擊Siguiente按鈕時,我不會看到陣列direcciones的以下圖像。

我該怎麼看?

謝謝。

回答

1

這種替代以前的JavaScript代碼:

var cnt = 1; 
var direcciones = new Array("imagen1.jpg","imagen2.jpg","imagen3.jpg","imagen4.jpg","imagen5.jpg"); 
function cambiaimagen(){ 
    if(cnt != direcciones.length - 1){ 
     cnt++; 
    }else{ 
     cnt = 1; 
    } 
    document.getElementById('imgs').src = direcciones[cnt]; 
} 

如果圖像名稱在順序編號順序(因爲它們是在你的例子),你可以改用以下:

var cnt = 1; 
var imgCnt = 5; 
function cambiaimagen(){ 
    if(cnt != imgCnt){ 
     cnt++; 
    }else{ 
     cnt = 1; 
    } 
    document.getElementById('imgs').src = "imagen" + cnt + "2.jpg"; 
} 

我認爲這是一種更好的方法,因爲沒有重複內容的數組。

+0

我試過用這段代碼,但它不工作。 – axmug

+0

@axmug什麼不起作用?你能給出錯誤嗎? – Hope4You

+0

我正在使用Firefox,並且沒有JavaScript錯誤。當我運行腳本時,我只看着圖像和按鈕。當我點擊一個按鈕時,圖像不會改變。 – axmug

1
var direcciones = ["imagen1.jpg","imagen2.jpg","imagen3.jpg","imagen4.jpg","imagen5.jpg"]; 
var cnt = 0; 
function cambiaimagen(){ 
document.getElementById("imgs").src = direcciones[(++cnt)%direcciones.length]; 
} 
+0

你可能應該解釋你在做什麼,而不僅僅是發佈代碼。 –

+0

我認爲這只是另一個人做出答案的方式。 –