gpt4 book ai didi

javascript - 随机点 Javascript/CSS 开始运行非常慢

转载 作者:行者123 更新时间:2023-11-28 16:40:58 25 4
gpt4 key购买 nike

您好,我有一个简单的脚本,可以在屏幕上放置随机点。使用 Javascriot 和 CSS这很好用,某些事情可以用 CSS 轻松控制。

唯一的问题是......在大约 30,000 个点之后......它真的变慢了。爬行。我想让它至少继续到数百万个点而不会陷入困境。我有一台非常强大的计算机,发现跨浏览器的结果大致相同。

<!doctype html><html><head>
<meta charset="utf-8">
<title>Ran Dots</title>

<style>
body{
background-color:#C82022;
}
.dot {
position: absolute;
width: 2px;
height: 2px;
background: black;
}
</style>

</head><body>

<form id="form1" name="form1" method="post" action="">
<label for="textfield">num of dots</label>
<input type="text" id="num_of_dots" value="0" />
</form>

<script>
//
function createDot(x, y){
var elem = document.createElement("div");
elem.setAttribute("class", "dot");
elem.setAttribute("style", "left:"+x+"px;top:"+y+"px;");
document.getElementsByTagName("body")[0].appendChild(elem);
return elem;
}
//

var Count_Num_Of_Dots = 0;
//
function Add_Dot(){

if(Count_Num_Of_Dots < 1000000){

createDot(Math.floor(Math.random()*1900), Math.floor(Math.random()*870 + 40));
Count_Num_Of_Dots ++;
document.getElementById('num_of_dots').value ++;

}else{// stop timer

clearInterval(My_Timer_Var);

}
}
//

// Timer
var My_Timer_Var = setInterval(function(){ Add_Dot() }, .05);
</script>

</body></html>

谁能告诉我:

  • 是什么不可避免地导致它变慢?
  • 我怎样才能使这些点高效、快速地进入数百万个点?
  • 也许有更好的方法来做到这一点?

谢谢

问候。

最佳答案

What inevitably causes it to slow down?

这可能是因为 DOM 查找的时间复杂性。请查看this .

How can I keep these dots going efficiently and with good speed into the millions of dots?

尽量减少 DOM 查找或获得更好的处理器。

Maybe there is a better way todo this?

此外,可能还有更好的方法。您应该为不同的技术计时并进行测量。

关于javascript - 随机点 Javascript/CSS 开始运行非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20834132/

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