gpt4 book ai didi

javascript - setInterval 用于运行带有 if 语句的函数不起作用

转载 作者:行者123 更新时间:2023-11-30 11:10:06 25 4
gpt4 key购买 nike

我需要使用 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;">

最佳答案

你的代码中有一堆语法错误:

  1. 您的elseif 条件是assignment operators = 并应替换为 comparison operator例如松散相等运算符 ==严格相等运算符 === 取决于您的要求 [检查这个article以获得对两者之间差异的深入解释]。

  2. 您正在将您的 setInterval() 分配给一个变量,从而阻止它运行。

  3. 您在 setInterval() 中引用了一个名为 change() 的字符串。删除引号,因为 change 是一个函数。


检查这个jsFiddle或下面的代码片段,每 3 秒查看一次 gif 变化:

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 ) ;
<img src="//colinbendell.cloudinary.com/image/upload/c_crop,f_auto,g_auto,h_350,w_400/v1512090971/Wizard-Clap-by-Markus-Magnusson.gif" id="gif1" alt="1.gif" style="width:400px;height:400px;border:1px solid black;" />

关于javascript - setInterval 用于运行带有 if 语句的函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54056091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com