Javascript 每3秒更改一张图片的功能
我需要一个功能,改变图片每3秒。这是我的代码,它必须使用case结构,不确定出了什么问题,有什么建议吗Javascript 每3秒更改一张图片的功能,javascript,Javascript,我需要一个功能,改变图片每3秒。这是我的代码,它必须使用case结构,不确定出了什么问题,有什么建议吗 <script> "use strict"; var currentImage = 1; var autoAdvance = setInterval(ChangeAd, 3000); function ChangeAd() { var image = document.getElementsByTagName"img"); switch(current
<script>
"use strict";
var currentImage = 1;
var autoAdvance = setInterval(ChangeAd, 3000);
function ChangeAd() {
var image = document.getElementsByTagName"img");
switch(currentImage){
case 1:
currentImage = 2;
return image[o].src = "concert2.gif";
break;
case 2:
currentImage = 3;
return image[o].src = "concert3.gif";
break;
case 3:
currentImage = 4;
return image[o].src = "concert4.gif";
break;
case 4:
currentImage = 5;
return image[o].src = "concert5.gif";
break;
case 5:
currentImage = 1;
return image[o].src = "concert1.gif";
break;
}
}
</script>
“严格使用”;
var-currentImage=1;
var autoAdvance=设定间隔(ChangeAd,3000);
函数ChangeAd(){
var image=document.getElementsByTagName“img”);
开关(当前图像){
案例1:
currentImage=2;
返回图像[o].src=“concert2.gif”;
打破
案例2:
currentImage=3;
返回图像[o].src=“concert3.gif”;
打破
案例3:
currentImage=4;
返回图像[o].src=“concert4.gif”;
打破
案例4:
currentImage=5;
返回图像[o].src=“concert5.gif”;
打破
案例5:
currentImage=1;
返回图像[o].src=“concert1.gif”;
打破
}
}
首先,这是:
document.getElementsByTagName"img")
应该是这样的:
document.getElementsByTagName("img")
第二:image[o]。src
使用字母o
,应该使用数字0
第三,案例
分支不需要返回任何内容。他们只需要设置值计数器<使用代码>返回有两个原因。第一种方法是简单地退出函数并将控制权返回给调用方。在您的例子中,break
语句已经这样做了,因此return
没有帮助。使用return
的第二个原因是让函数向调用者返回一个整体结果。这也不是你想要的——你不希望函数返回一个值,你只希望函数更新图像的源
第四,不需要重复图像源的设置。只需将一个变量设置为正确的值,然后在开关外部更改源
“严格使用”;
var-currentImage=1;
var autoAdvance=设定间隔(ChangeAd,3000);
var image=document.getElementsByTagName(“img”);
var source=“”;
函数ChangeAd(){
开关(当前图像){
案例1:
currentImage=2;
打破
案例2:
currentImage=3;
打破
案例3:
currentImage=4;
打破
案例4:
currentImage=5;
打破
案例5:
currentImage=1;
打破
}
//一旦你突破了匹配的案例分支,
//你会在这里结束,你需要做的就是
//使用计数器的值设置图像:
source=“concert”+currentImage+“.gif”;
图像[0]。src=源;
图像[0]。alt=源;
}
document.getElementsByTagName“img”);=document.getElementsByTagName(“img”)<代码>[o]
-是什么?你是说[0]
@baao我在问我的老师,我不知道她是不是想让它成为一个数字,如果它是空的,它会工作吗?还是我需要0-4?你的代码中没有显示这一点,我不知道你想设置哪个图像。如果您将其设置为[0],它将设置第一个图像的src,尽管您需要它是一个数字。。。根据你有多少图像标签,它可能比你有的图像标签的数量少0到1-我的猜测是,它应该是0,因为你在问如何更改图片。。。因此,您希望每次和第五次都更改相同的图像,完全去掉开关块,只需增加变量(使用if
或%
以允许5->1情况)…@nnnn是的,但是如果您阅读OP,挑战是使用开关。