2014-07-15 3 views
-4

내가 더 스톱으로 만 반복 ... 항상 연결 고리를 필요 밖으로자바 스크립트 루프 프로

setTimeout(doSomething, 5000); function doSomething() { 
document.getElementById('myAnchor').innerHTML="Visit Google" 
document.getElementById('myAnchor').href="http://www.google.com" 

setTimeout(doSomething1,5000); } function doSomething1() {                   
document.getElementById('myAnchor').innerHTML="Visit Me" 
document.getElementById('myAnchor').href="http://www.stackoverflow.com" 

setTimeout(doSomething2, 5000); } function doSomething2() { 
document.getElementById('myAnchor').innerHTML="Visit None" 
document.getElementById('myAnchor').href="" } 
+0

'doSomething'으로 시작되는'doSomething2'에 타임 아웃을 넣을 수 있습니까? – Bergi

+2

[Fornat your code] (http://jsbeautifier.org/)를 적절히 작성하십시오! 이것은 읽을 수 없다! 그것. – Bergi

+1

직접 기능을 반복하지 마십시오. [컴퓨터가 당신을 위해 그것을 할 수있게하십시오.] (http://en.wikipedia.org/wiki/Don't_repeat_yourself) –

답변

0
//Data 
var links = [ 
    {text: "Visit Google", href: "http://www/google.com"}, 
    {text: "Visit Me", href: "https://www.stackoverflow.com"} 
], i = 0; 

//Control 
function loop(){ 
    var entry = links[i++%links.length]; 
    document.getElementById('myAnchor').innerHTML = entry.text; 
    document.getElementById('myAnchor').href = entry.href; 
    setTimeout(loop, 5000); 
} 

데모 좀 도와주세요 절대로 자신을 기능을 반복하지 . Make the computer do it for you.이 사고 방식을 사용하면 종종 문제가 쉽게 해결됩니다.

+0

오버플로'i'를 실행하려면 얼마나 많은 시간이 필요합니까? –

+0

@ PM77-1 - Number.MAX_VALUE * 5 초, [약 2.848331383307101 × 10^301 평균 그레고리력 년도] (http://www.wolframalpha.com/share/clip?f=d41d8cd98f00b204e9800998ecf8427edma2jhpcs3) (Chrome);) –

+0

제발 나를 도와주세요. 그리고 타이머 나 루프 스톱을 가리키고 다시 가져 오기 시작합니다. – MultiSubMovies