gpt4 book ai didi

javascript - javascript onclick 处理程序中的性能问题

转载 作者:行者123 更新时间:2023-11-30 07:48:27 25 4
gpt4 key购买 nike

我用 java 脚本编写了一个游戏,虽然它可以运行,但它对多次点击的响应很慢。下面是我用来处理点击的代码的一个非常简化的版本,如果您等待的时间不够长,它仍然无法响应第二次点击 2。这是我需要接受的东西,还是有更快的方法来为下一次点击做好准备?

顺便说一句,我使用 quirksmode 重新编码竞赛中的 AddEvent 附加了这个函数。

var selected = false;
var z = null;
function handleClicks(evt) {
evt = (evt)?evt:((window.event)?window.event:null);
if (selected) {
z.innerHTML = '<div class="rowbox a">a</div>';
selected = false;
} else {
z.innerHTML = '<div class="rowbox selecteda">a</div>';
selected = true;
}
}

实时代码可以在 http://www.omega-link.com/index.php?content=testgame 看到

最佳答案

您可以尝试只更改类名,而不是从 DOM 中删除/添加一个 div(这正是 innerHTML 属性所做的)。

类似于:

var selected = false;
var z = null;

function handleClicks(evt)
{
var tmp;

if(z == null)
return;

evt = (evt)?evt:((window.event)?window.event:null);
tmp = z.firstChild;
while((tmp != null) && (tmp.tagName != 'DIV'))
tmp = tmp.firstChild;
if(tmp != null)
{
if (selected)
{
tmp.className = "rowbox a";
selected = false;
} else
{
tmp.className = "rowbox selecteda";
selected = true;
}
}
}

关于javascript - javascript onclick 处理程序中的性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/884847/

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