2013-07-31 69 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

我认为这只是另一个人做出答案的方式。 –