Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每3秒更改一张图片的功能_Javascript - Fatal编程技术网

Javascript 每3秒更改一张图片的功能

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

我需要一个功能,改变图片每3秒。这是我的代码,它必须使用case结构,不确定出了什么问题,有什么建议吗

<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,挑战是使用
开关。