gpt4 book ai didi

Javascript 更改图像并重置页面未完成

转载 作者:行者123 更新时间:2023-11-28 09:19:05 24 4
gpt4 key购买 nike

所以我在两张图片之间进行了一场“竞赛”。他们从左边开始,当我点击第三张图片时它开始比赛,当一个人到达右侧时它停止他们。并提醒获胜者。有两件事我无法实现...我单击的图像不会更改为不同的图像。在“比赛”结束后,当我再次点击图像时,它不会重置所有内容并像新的一样重新开始。我只是继续随机数是什么。 fiddle :http://jsfiddle.net/y71kpg1o/

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link href="style.css" rel="stylesheet">
<title>The Amazing Race</title>
</head>

<body>
<img src="images/tie.png" class="img1" id="Stewie" alt="tie"></br>
<img src="images/xwing.png" class="img2" id="Squidward" alt="xwing">
<input type="image" src="images/death.png" class="img3" alt="dstar" onclick="interval = setInterval( fly, 250 )">




<script>
var racers = [ document.getElementById("Cartman"), document.getElementById("Stewie") ];

function fly() {
var racer = racers[ Math.floor(Math.random() * racers.length) ];
var newPos = parseInt( racer.style.left || 0 ) + 25;
racer.style.left = newPos + "px";
if( (newPos + racer.clientWidth) >= window.innerWidth){
clearInterval( interval );
alert( "And the winner is " + racer.id );
}
}
</script>

</body>
</html>

另外,我有一个 CSS 来放置图像并调整它们的大小。关于我做错了什么的任何想法?

谢谢

最佳答案

虽然我同意@jacelysh 的观点,即您应该为这样的问题提供 fiddle ,但答案很可能已经足够明显,因此无关紧要。

你在找

[ document.getElementById("Cartman"), document.getElementById("Stewie") ]

但是您的 div id 表明您应该寻找

[ document.getElementById("Squidward"), document.getElementById("Stewie") ]

• 要更改点击的图像,您只需更新它的 src 属性

有一百种方法可以让游戏在完成后重置,但首先要关闭• 我将它包装在类似 endRace() 的函数中。
• 您可以在容器中添加一个类,子元素可以使用该类来重置自身。

• 作为旁注,您应该尝试养成将 javascript 移出 dom 的习惯。因此,在 javascript 中监听点击,而不是在 dom 中监听 onclick 处理程序。

我无事可做,所以我对 fiddle 进行了一些大修,这说明了我在说什么。 http://jsfiddle.net/ryanore/y71kpg1o/1/

关于Javascript 更改图像并重置页面未完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26172394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com