繁体   English   中英

如何解决图片不变的问题?

[英]How do I solve this issue of the pictures not changing?

嘿,所以我开发了这段代码,让我可以根据计时器更改图像。 随着倒计时达到某些里程碑,图片会发生变化。 但不幸的是,我无法让它按预期工作。

<!DOCTYPE html>
<html>
<body>
<h1> Change the lights automatically</h1>

<img id="myimg" src="1.png" width ="100" height="300">

<script>

var list = [
    "1.jpg",
    "2.jpg",
    "3.jpg",
    "4.jpg"
];

var count = 0;
var time=20;

var timing=setInterval(timer, 1000); //1000 will  run it every 1 second

function timer()
(
    var newImage = document.getElementById('myimg');
    time = time-1

    if (time <= 1) time = 20;
    if (time >15 && time < 21) count = 0;
    if (time >10 && time <16) count = 1;
    if (time >6 && time <15) count = 2;
    if (time >1 && time <5) count = 3;
    if (time = 0) count = 0;

    var newImage = document.getElementById('myimg');
    newImage.src = list[count];
}

</script>
</body>
</html>

我所做的是,代码应该有一个每秒钟运行一次的计时器,当计时器在一定数量之间时,计数值应该相应地改变。 之后,由于我已将新图像设置为每次计数值更改时更改,因此显示的图像应该更改,但情况并非如此,因为它不会更改。 那里的任何专家都可以确定它有什么问题,以便我可以修复它? 提前致谢!

最后的 if 条件将时间指定为 0。

if (time = 0) count = 0;

时间永远是 0 所以

newImage.src = list[count];

始终显示相同的图像。 删除最后一个 if 条件并修改第一个。

if ((time >15 && time < 21) || (time == 0)) count = 0;

你错过了这里的花括号......

函数定时器()(

... 它应该是

函数定时器(){

这是因为您的时间在计时器函数上始终为 19 或 time-1,您可能会考虑查看此javascript setInterval() 和 Variable Scope

希望这可以帮助

检查以下代码片段

 var list = [ "1.jpg", "2.jpg", "3.jpg", "4.jpg" ]; var count = 0; var time=20; var timing=setInterval(timer, 1000); function timer() { var newImage = document.getElementById('myimg'); time=time-1; if (time <= 1) time = 20; else if (time >15 && time < 21) count = 0; else if (time >10 && time <16) count = 1; else if (time >6 && time <15) count = 2; else if (time >1 && time <7){ count = 3;} else if (time == 0) count = 0; else { clearInterval(timing); return; } var newImage = document.getElementById('myimg'); console.log(newImage.src); newImage.src = list[count]; }
 <img id="myimg" src="1.png" width ="100" height="300">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM