每当我尝试单击图像时,图像都会更改,但不会显示数组中的下一个图像
<!doctype html>
<html>
<head>
<title>
slides
</title>
<script type="text/javascript">
function nextslide(){
var images = new Array()
images[0]= "home.jpg"
images[1]= "left.jpg"
images[2]= "right.jpg"
var currentpic=0
var lastpic= images.lenth-1;
if (currentpic =lastpic)
{
currentpic=0;
document.getElementById('slide').src = images[currentpic];
}else
{
currentpic++;
document.getElementById('slide').src = images[currentpic];
}
}
</script>
</head>
<body>
<img src="home.jpg" id="slide" onclick="nextslide()">
</body>
</html>
帮助将不胜感激。
感谢您的帮助。
最佳答案
您的代码有几处错误。这是固定版本:
<!doctype html>
<html>
<head>
<title>slides</title>
<script type="text/javascript">
var images = new Array();
images[0] = "home.jpg";
images[1] = "left.jpg";
images[2] = "right.jpg";
var currentpic = 0;
var lastpic = images.length-1;
function nextslide()
{
if (currentpic == lastpic)
{
currentpic = 0;
document.getElementById('slide').src = images[currentpic];
}
else
{
currentpic++;
document.getElementById('slide').src = images[currentpic];
}
}
</script>
</head>
<body>
<img src="home.jpg" id="slide" onclick="nextslide()">
</body>
</html>
怎么了?
var lastpic= images.lenth-1;
您在g
中缺少一个length
。if (currentpic =lastpic)
要检查var1
是否与var2
相同,需要使用==
而不是=
您缺少几个分号。
您应该在函数之外声明
currentpic
,images
和lastpic
,以使其实际上将图像设置为下一张图像。尝试调试自己
始终检查浏览器的开发者控制台是否有错误。