2016-08-11 3 views
-1
function main() { 
    var abc = document.getElementById('space'); 

    abc.style.left += 10 + 'px'; 

    main2(); 
} 

function main2() { 
    setInterval(main(), 1000); 
} 

에 따라이 코드 값의 위치는 1 초 단위로 변경되어야합니다. 하지만 작동하지 않는 위치는 한 번만 변경됩니다.자바 스크립트 위치가 contionously 변경되지 않습니다

+0

요소입니다 css에서 절대 위치? 다음 일 setInterval (main, 1000); - 선언을 함수 결과가 아닌 사용하십시오. –

+1

'main'을 즉시 호출하고'main' 함수의 결과를'setInterval'에 전달합니다. 자세한 내용은 복제본을 확인하십시오. –

+0

maciej sikora 예 위치가 절대적입니다 –

답변

0

여기서 주된 문제는 그냥 전달하는 대신 main 기능을 실행하고 있다는 것입니다. 기본적으로는 다음과 같이이다 :

setInterval(function() { /* something inside */ }, 1000); 

나는이 기능을 외부를 선언 할 수있다

function main() { 
    // something inside 
} 
setInterval(main, 1000); // here I just pass the `main` function 

은 당신이 통과되지 않는 일을하지만, 기능을 실행됩니다

function main() { 
    // something inside 
} 
setInterval(main(), 1000); 
+0

은 setInterval (main, 1000)과 setInterval (main(), 1000) 사이에 diffrence가 있습니다. –

+0

'setInterval (main(), 1000)'-'main'은 한 번만 실행됩니다. 'setInterval (main, 1000)'-'main'은 1 초마다 실행됩니다. –

관련 문제