2013-03-31 5 views
1

그냥 내 첫 번째 질문을 물었고 훌륭한 반응을 얻었다. 그래서 도움이됩니다. 같은 페이지에 두 개의 임의의 숫자를 생성하는 자바 스크립트 비트를 만드는 데 도움이되었습니다.더 빠른 자바 스크립트 처리

<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> 

또한 시간 지연에있는 두 개의 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)에있는 다른 사람들의 스레드로부터 많은 도움을 받아서 자신의 대부분을 직접 작업했습니다.

어쨌든, 그것은 모든 문제가되지 않습니다. 유일한 문제는 난수 생성기가 너무 느리게 작동한다는 것입니다. 숫자가 나타나는 div는 일반적으로 임의의 숫자가 생성되기 전에 지나간 것입니다. . 페이지를 두 번 새로 고친 후에는 정상적으로 조금 더 빠르게 작업하기 시작하지만 페이지 로딩의 처음 두 번째 부분에서 임의의 숫자가 생성되도록 프로세스 속도를 높일 수있는 방법이 있습니다.

대단히 감사합니다.

답변

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> 

희망이 있습니다.

+0

캐싱되지 않은 jQuery 자체를로드하면 페이지가 느려집니다. –

+0

@ JanTuroň 문제가 있다면 표시/숨기기 부분이 "이전에"숫자가 표시되지 않습니다. –

+0

멋진. 매우 감사합니다. '지저분한 코드'는 내 아바타 이름이어야합니다. 솔직히 자바 스크립트를 작성하는 방법에 대한 첫 번째 단서가 없기 때문에 Java 스크립트에서 중요한 변수를 편집 할 수있는 충분한 감각을 가지고 있지만 필자는 작성 방법을 알지조차 모릅니다. 내 모든 코드는 내가 가져온 비트와 밥에서 함께 자갈을 맺습니다. 당신이 한 것을 할 수 있고 그것을 모두 통합 할 수 있도록 더 많이 알고 싶습니다. 나는 더러워지기를 싫어합니다. 어쨌든 고맙습니다. 완벽하게 작동했습니다. –