gpt4 book ai didi

javascript - 函数未被调用

转载 作者:行者123 更新时间:2023-11-28 07:04:12 25 4
gpt4 key购买 nike

我正在尝试创建一个像 pacman 中那样的幽灵(这是一个图像),它会出现在随机位置。这是我的代码

function ghost(){
while (true){

e1.style.top = Math.round(Math.random() * document.body.scrollHeight) + 'px';
document.body.appendChild(e1);

}

}
<body onload="gameLoop();" onkeydown="" onkeyup="moveSelection(event)" onload="ghost();">

我希望它并排无限地运行。

最佳答案

您不能在 Javascript 中编写这样的无限循环,因为它会永远运行,阻止浏览器执行任何其他操作,从而有效地“挂起”浏览器,直到浏览器最终中止脚本。浏览器中的主要 Javascript 执行是单线程的,因此如果你像这样永远循环,那么其他任何东西都无法运行。

相反,您可以使用 setInterval() 计时器随时间更新位置。如果您能用文字准确描述您想要完成的目标,我们可能会更具体地帮助您推荐代码。

此外,您在 body 标签上只能有一个 onload 属性,因此您可以从一个属性调用两个函数,或者创建一个调用多个事物的新函数,并在onload 属性。

下面是 setInterval() 的简单用法:

// something must set the e1 variable first
document.body.appendChild(e1);
setInterval(function() {
e1.style.top = Math.round(Math.random() * document.body.scrollHeight) + 'px';
}, 5000);

请注意,根据您的代码,这将导致图像不时地在屏幕上跳到随机的上/下位置。

关于javascript - 函数未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33056343/

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