更快的javascript处理

更快的javascript处理,javascript,jquery,performance,pagespeed,Javascript,Jquery,Performance,Pagespeed,刚问了我的第一个问题,得到了很好的回答。太有用了。帮助我创建了javascript,在同一页面上创建了两个随机数 <script> window.onload = function(){ generateRandomNumber1(); generateRandomNumber2(); }</script> <script> function generateRandomNumber1(){ var n = 30; var number = Math.flo

刚问了我的第一个问题,得到了很好的回答。太有用了。帮助我创建了javascript,在同一页面上创建了两个随机数

<script>
window.onload = function(){
generateRandomNumber1();
generateRandomNumber2();
}</script>

<script>
function generateRandomNumber1(){
var n = 30;
var number = Math.floor(Math.random()*n)+1;
document.getElementById("random1").innerHTML = number;
}

function generateRandomNumber2(){
var n = 15;
var number = Math.floor(Math.random()*n)+1;
document.getElementById("random2").innerHTML = number;
}
</script>

window.onload=函数(){
generateRandomNumber1();
GeneratorDomainNumber2();
}
函数生成器DomainNumber1(){
var n=30;
var number=Math.floor(Math.random()*n)+1;
document.getElementById(“random1”).innerHTML=number;
}
函数生成器DomainNumber2(){
var n=15;
var number=Math.floor(Math.random()*n)+1;
document.getElementById(“random2”).innerHTML=number;
}
A还可以使用此脚本位在时间延迟上显示两个div:

<script>
var toggle = function() {
$("#loadingContainer1").show();
}
setTimeout(toggle, 1000);
</script>
<script>
var toggle = function() {
$("#loadingContainer1").hide();
}
setTimeout(toggle, 8000);
</script> 
<script>
var toggle = function() {
$("#loadingContainer2").show();
}
setTimeout(toggle, 7000);
</script> 
<script>
var toggle = function() {
$("#loadingContainer2").hide();
}
setTimeout(toggle, 14000);
</script> 

var toggle=函数(){
$(“#loadingContainer1”).show();
}
设置超时(切换,1000);
var toggle=函数(){
$(“#loadingContainer1”).hide();
}
设置超时(切换,8000);
var toggle=函数(){
$(“#loadingContainer2”).show();
}
设置超时(切换,7000);
var toggle=函数(){
$(“#loadingContainer2”).hide();
}
设置超时(切换,14000);
我知道这真的很麻烦,但它很管用,我很高兴自己能解决大部分问题(在其他人的线程对堆栈溢出的大量帮助下)

不管怎么说,这一切都是有效的,所以这不是我的问题,唯一的问题是,随机数生成器工作得太慢,以至于数字出现的div通常在随机数生成之前就来了又走了。在我刷新页面几次之后,它们通常开始工作得更快一些,但是有没有什么方法可以加快这个过程,以便在页面加载的第一秒钟内生成随机数


非常感谢。

那里有很多乱七八糟的代码,但可能是因为
onload
在页面完全加载之前不会启动,所以速度很慢。下面是对代码的重写,以更好地工作:

<script type="text/javascript">
    $(function() { // uses jQuery's "ready" handler
        $("#random1").html(Math.floor(Math.random()*30)+1);
        $("#random2").html(Math.floor(Math.random()*15)+1);
        $("#loadingContainer1").delay(1000).fadeIn(0).delay(7000).fadeOut(0);
        $("#loadingContainer2").delay(7000).fadeIn(0).delay(7000).fadeOut(0);
    });
</script>

$(function(){//使用jQuery的“ready”处理程序
$(“#random1”).html(Math.floor(Math.random()*30)+1);
$(“#random2”).html(Math.floor(Math.random()*15)+1);
$(“#加载容器1”)。延迟(1000)。淡出(0)。延迟(7000)。淡出(0);
$(“#装入集装箱2”)。延迟(7000)。淡出(0)。延迟(7000)。淡出(0);
});

希望这有帮助

或者加载非缓存jQuery本身会使页面变慢:-)@JanTuroň如果这就是问题所在,那么显示/隐藏部分就不会在数字出现之前出现。太好了。非常感谢“混乱代码”应该是我的头像名称。老实说,我对如何编写javascript一点都不了解,我有足够的常识可以编辑Java脚本中的重要变量,但我甚至不知道如何开始编写它。我所有的代码都是从我收集的零碎信息拼凑而成的。但愿我知道的更多,这样我就可以像你那样做并巩固这一切,我讨厌一团糟。谢谢你,无论如何,这工作得很好…除了,有趣的是,网站是在一个总体模板中构建的,然后这个javascript应该工作的页面是一个单独的html文件,它位于该模板中。当我将这段代码放在头部(在总体模板中)时,它工作得非常完美(但我认为其副作用可能是它在每个页面上加载,因此会稍微减慢整个网站的每个页面)。当我把js代码放在实际页面的主体中时,它几乎完美地工作,除了第一个div在短时间后重新出现,然后又消失了。这一切都很好,只是觉得这是一个奇怪的小异常值得反馈。