我不知道代码有什么问题,因为按钮不动,计时器不工作。
由于按钮是棘手的赶上之前60秒,因为它应该移动整个屏幕。
我尝试了代码,但按钮只移动了一次。我希望按钮总是移动时,我把鼠标箭头上。
<SCRIPT>
var lose = 'YOU LOST'
var win = 'YOU WON'
function finish(message) {
clearTimeout(timer)
output.innerHTML = message
button1.style.display='none'
button2.style.display='none'
button3.style.display='none'
}
function moveme(obj) {
obj.style.pixelLeft += Math.random() * 250 - 150
obj.style.pixelTop += Math.random() * 250 - 150
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR="goldenred" TEXT="black" onSelectStart="return false">
<CENTER>
<H1><b>Test</b></H1>
<P>If you can't click this button, you r lost!<BR>You got 60 sec.!</P>
<BR><BR>
<INPUT
TYPE=BUTTON
ID=button1
onClick="finish(win)"
onMouseOver="this.style.position='absolute'; moveme(this)"
VALUE="CLICK"
STYLE="display:none; top:300; left:200"
>
<INPUT
TYPE=BUTTON
ID=button2
onClick="finish(win)"
onMouseOver="button1.style.display=''; button3.style.display=''; this.style.position='absolute'; moveme(this); timer = setTimeout('finish(lose)', 60000)"
VALUE="CLICK"
STYLE="top:300; left:200"
>
<INPUT
TYPE=BUTTON
ID=button3
onClick="finish(win)"
onMouseOver="this.style.position='absolute'; moveme(this)"
VALUE="CLICK"
STYLE="display:none; top:300; left:200"
>
<SPAN ID="output"></SPAN>
1条答案
按热度按时间wvt8vs2t1#
我会说这是因为你传入了60作为超时间隔,单位是毫秒,60毫秒相当快,难怪它只工作一次,我会说finish函数正在运行,但抛出了一个错误,因为输出的是,看不到任何地方定义的变量