Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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 我如何解决图片不变的问题?_Javascript - Fatal编程技术网

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

Javascript 我如何解决图片不变的问题?,javascript,Javascript,嘿,所以我开发了这段代码,允许我根据计时器更改图像。随着倒计时到达某些里程碑,情况发生了变化。但不幸的是,我无法让它按预期工作 <!DOCTYPE html> <html> <body> <h1> Change the lights automatically</h1> <img id="myimg" src="1.png" width ="100" height="300"> <script> var l

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

<!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>

自动换灯
变量列表=[
“1.jpg”,
“2.jpg”,
“3.jpg”,
“4.jpg”
];
var计数=0;
var时间=20;
var定时=设置间隔(定时器,1000)//1000将每1秒运行一次
函数计时器()
(
var newImage=document.getElementById('myimg');
时间=时间-1
如果(时间15和时间<21)计数=0;

如果(时间>10&&时间6&&时间1&&时间您错过了此处的大括号

函数计时器() (

……应该是的

函数计时器()
{

这是因为计时器功能上的时间始终为19或time-1 你可以考虑看看这个

希望这有帮助

检查以下代码段

var列表=[
“1.jpg”,
“2.jpg”,
“3.jpg”,
“4.jpg”
];
var计数=0;
var时间=20;
var定时=设置间隔(定时器,1000);
函数计时器()
{
var newImage=document.getElementById('myimg');
时间=时间-1;
如果(时间15和时间<21)计数=0;

else if(时间>10&&time 6&&time 1&&time最终if条件将时间指定为0

if (time = 0) count = 0;
时间永远是零,所以

newImage.src = list[count];
始终显示相同的图像。删除最终的if条件并修改第一个条件

if ((time >15 && time < 21) || (time == 0)) count = 0;
if((时间>15&&time<21)| |(时间=0))计数=0;

当然,每个图像目录的内容都不重要^^您原来的src是
.png
,但是
列表包含
.jpg
。您确定名称正确吗?这似乎太复杂了。为什么不每5秒运行一次,每次只需增加
计数即可。您有一个输入错误。
在函数的开头应该是
{
。这是在真实代码中还是复制错误?如果是在真实代码中,您没有在Javascript控制台中看到语法错误吗?大括号在下一行。除了括号。这是打字错误。我们应该等待,看看这是在真实代码中还是复制错误。很抱歉,复制错误=/使用该网站还不太熟悉在发布之前我应该仔细检查一下。哦,谢谢,这很有效,但是我对整个“console.log”的事情有点困惑,无论我在哪里都可以找到更多关于这个的信息?最后一件事,为什么你有“time=time-0;”有必要吗?不需要太多…我试图将其更改为数字,也是为了调试目的(它已经是一个数字)啊,我明白了,所以如果我只是删除整行,console.log(time)它应该还能工作?还有一件事,当我使用你的代码时,程序似乎因为某种原因被卡在图3上。你知道为什么吗?o。其他你的if条件没有什么问题…修改了代码段检查一次