javascript - 页面加载定时器上的红绿灯

标签 javascript html timer

我在学校做 JavaScript 已经有大约 3 个星期了,是的,这是类(class)作业,但我们的时代即将结束,我会因为工作代码而得到更多的分数,而不是因为寻求帮助而失去的分数。

我编写了这段代码来运行交通灯序列,并且最近添加了 on load 函数以及 setinterval。基本上它不起作用,而且只做了三个星期的JavaScript,我不知道它是语法错误还是逻辑错误。有人会告诉我出了什么问题并提供尽可能接近我当前代码的解决方案吗?

编辑:当我当前运行此程序时,交通灯显示为红色,但永远不会改变,而且它必须没有用户交互才能获得最多分数。

<!DOCTYPE html>
<html>
<body onload="javascript:timer()">

<h1>JavaScript Task 3</h1>

<img id="traffic" src="Red.jpg">

<script>
var list = [
    "Red.jpg",
    "Red-Amber.jpg", 
    "Green.jpg",
    "Amber.jpg"
];
var index = 0;
function changeLights() {
     index = index + 1;      
if (index == list.length) 
index = 0;           


var image = document.getElementById('traffic'); 
    image.src=list[index];
}

function timer(){ = setInterval(changeLights(),1000);
}
</script>

</body>
</html>

最佳答案

你的定时器函数错误,应该是:

function timer(){
setInterval(changeLights,1000);
}

我删除了“=”,并且changeLights后面不应该有括号。

关于javascript - 页面加载定时器上的红绿灯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40586937/

相关文章:

javascript - 删除 JavaScript 中未知字符的前缀

html - CSS 样式的 div 不是从窗口端开始的 (VB express)

javascript - 如何使用 Jquery 在特定时间后自动销毁 DOM 元素

python - PyQt4 - 创建一个计时器

javascript - 如何使用javascript从gridview中过滤任何项目

javascript - 实例化和填充对象数组的更快方法

javascript - 函数内的 fullcalendar-4

css - 底部边框仅在 Internet Explorer 7 中使用带渐变的背景图像

jquery - 主 div 中的滚动条以显示其中的 div

java - 为什么这个简单的调度程序不起作用?