<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var lights=["Images/nt1.jpg","Images/nt2.jpg","Images/nt3.jpg","Images/nt4.png"]
var lightscentre= 0
var timer
function LightCycle
{
if(++lightscentre==30)
lightscentre=0
document.images.banner.src = lights[lightscentre]
timer = setTimeout("LightCycle()",1000)
}
function stopCycle()
{
clearTimeout(timer)
}
</script>
</head>
<body>
<img src="nt1.jpg" name="nt1" width=130 height=175>
<form>
<input type="button" value="Cycle" name="Cycle" onclick="LightCycle()">
<input type="button" value="Stop" name="Stop" onclick="stopCycle()">
</form>
</body>
</html>
这是我的代码,我无法获取图像只显示按钮,我只能看到一个带黑色十字的盒子,请帮我看看错误,因为我需要的图片才能知道代码作品。背景;这是显示交通灯序列的代码,当窗口打开时应该连续循环。 P.S代码通常看起来不像我粘贴它时发生的那样。
答案 0 :(得分:1)
以下是您的代码的整理版本:
var lights = ["Images/nt1.jpg", "Images/nt2.jpg", "Images/nt3.jpg", "Images/nt4.png"]
var lightscentre = 0
var timer
function LightCycle() {
clearTimeout(timer)
if (++lightscentre == lights.length)
lightscentre = 0
document.images[0].src = lights[lightscentre]
timer = setTimeout(LightCycle, 1000)
}
function stopCycle() {
clearTimeout(timer)
}
我改变了什么:
声明函数时,如果没有使用参数,则需要在函数名后面加()
。
我在LightCycle
开始时清除了所有现有的计时器,因此按两次按钮不会导致循环速度提高两倍。
我更改了选择图片的方法:您的完整代码可能有不同的方法,但据我所知document.images.banner
并不意味着什么。
我简化了setTimeout调用:函数名比要评估的字符串更快。
答案 1 :(得分:0)
做了一些改变:
1 function LightCycle
2 {
3 if(++lightscentre==30) {
4 lightscentre=0
5 }
6 document.images[0].src = lights[lightscentre]
7
8 timer = setTimeout(LightCycle, 1000)
9 }
LightCycle
函数作为参数传递给setTimeout
而不引用它。特别是因为LightCycle
本身不接受任何论据。
答案 2 :(得分:0)
您的代码中存在一些问题,请尝试以下方法:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var lights = ["Images/nt1.jpg","Images/nt2.jpg","Images/nt3.jpg","Images/nt4.png"];
var lightscentre= 0
var timer
function lightCycle()
{
if(++lightscentre==3)
lightscentre=0;
document.getElementsByName("nt1")[0].src = lights[lightscentre]
timer = setTimeout(lightCycle,1000)
}
function stopCycle()
{
clearTimeout(timer)
}
</script>
</head>
<body>
<img src="nt1.jpg" name="nt1" width=130 height=175>
<form>
<input type="button" value="Cycle" name="Cycle" onclick="lightCycle()">
<input type="button" value="Stop" name="Stop" onclick="stopCycle()">
</form>
</body>
</html>
答案 3 :(得分:0)
工作代码应如下所示
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var lights=["Images/nt1.jpg","Images/nt2.jpg","Images/nt3.jpg","Images/nt4.png"]
var lightscentre= 0;
var timer;
function LightCycle()
{
if(++lightscentre==4)
lightscentre=0
document.getElementById("nt1").setAttribute("src",lights[lightscentre]);
timer = setTimeout("LightCycle()",1000);
}
function stopCycle()
{
clearTimeout(timer);
}
</script>
</head>
<body>
<img src="nt1.jpg" name="nt1" id="nt1" width=130 height=175>
<form>
<input type="button" value="Cycle" name="Cycle" onclick="LightCycle()">
<input type="button" value="Stop" name="Stop" onclick="stopCycle()">
</form>
</body>
</html>