我需要使用setInterval
函数每隔3秒运行一次change()
函数,但是到目前为止,我没有尝试过:
var image = document.getElementById("gif1");
var image_tracker = '1gif' ;
function change() {
if(image_tracker =='1gif') {
image.src='2.gif' ;
image_tracker = '2gif' ; }
else if (image_tracker ='2gif') {
image.src='3.gif' ;
image_tracker = '3gif' ; }
else if (image_tracker = '3gif') {
image.src='1gif' ;
image_tracker = '1gif' ; } }
var timer = setInterval ('change () ; ' , 3000 ) ;
<img src="1.gif" id="gif1" alt="1.gif" style="width:400px;height:400px;border:1px solid black;">
答案 0 :(得分:3)
您的代码中都有很多语法错误:
您的elseif
条件为assignment operators =
,应替换为comparison operator,例如 loose等于运算符 {{ 1}}或严格相等运算符 ==
,具体取决于您的要求[请对此article进行详细说明,以了解两者之间的区别]。
您正在将===
分配给变量,从而阻止其运行。
您在setInterval()
中引用了一个名为change()
的字符串。由于更改是函数,因此请删除引号。
选中下面的jsFiddle或下面的代码段,以查看每3秒gif发生的变化:
setInterval()
var img = document.getElementById("gif1");
var image_tracker = '1gif';
function change() {
if(image_tracker == '1gif') {
img.src = '//media.giphy.com/media/13gvXfEVlxQjDO/giphy.gif';
image_tracker = '2gif' ; }
else if (image_tracker == '2gif') {
img.src= '//upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif';
image_tracker = '3gif' ; }
else if (image_tracker == '3gif') {
img.src = '//colinbendell.cloudinary.com/image/upload/c_crop,f_auto,g_auto,h_350,w_400/v1512090971/Wizard-Clap-by-Markus-Magnusson.gif';
image_tracker = '1gif' ;
}
}
setInterval(change , 3000 ) ;