1

刚问了我的第一个问题,得到了很好的回应。很有帮助。帮助我创建了这段 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>

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> 

我知道真的很麻烦,但它确实有效,而且我对自己完成大部分工作感到非常满意(在 Stack Overflow 上其他人的线程的帮助下)。

无论如何,这一切都有效,所以这不是我的问题,唯一的问题是,随机数生成器的工作速度非常慢,以至于出现的数字通常在生成随机数之前来来去去。在我刷新页面几次后,它们通常开始工作得更快一些,但是有什么办法可以加快这个过程,以便在页面加载的第一秒内生成随机数。

非常感谢。

4

1 回答 1

2

那里有很多乱七八糟的代码,但也许是因为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>

希望这可以帮助!

于 2013-03-31T16:51:14.723 回答