2012-07-04 4 views
0

으로 변경하면 나를 도울 수 있기를 바랬습니다.자바 스크립트 (또는 <script> 태그)를 자바 스크립트

저는 자바 스크립트를 사용하여 자바 스크립트 코드를 변경하는 방법을 찾으려고합니다.

그럴 수 없다면, 내가하려는 일을 성취하기 위해 다른 방법을 제안 할 수 있다면 좋을 것입니다.

기본적으로 사용자는 시계에 맞게 사용자 정의 자바 스크립트 코드를 생성하는 옵션을 선택합니다 (아약스 기술을 통해 php를 사용). 이제이 코드는 eval 문을 사용하여 실행되고 시계는 특정 요소에 표시됩니다.

eval() 문은 AJAX를 통해 서버로부터 응답을받을 때마다 실행됩니다.

문제는 시계이므로 setInterval()을 사용하여 지속적으로 시간을 업데이트했습니다. 이제 여러 개의 ajax 호출이 실행되면 여러 함수가 루프에서 실행되기 시작합니다. 우리가이 실행되고 첫 번째 서버 호출 후에

:

setInterval(function and code for clock with format 1,1000); 

setInterval(function and code for clock with format 2,1000); 

그래서 기본적으로, 어떻게 든 두 번째가 시작되기 전에 실행 첫 번째를 중지하려면 .. 어떤 아이디어?

미리 감사드립니다.

답변

0

setInterval 반환 다음 호출 동안 분명 당신이 clearInterval에 전달할 수있는 생성 된 간격의 숫자 식별자를 중지 할 것을 . 식별자를 변수에 저장하고 새 간격을 시작하기 직전에 중지하십시오.

var intervalID; 

// When creating the first interval 
intervalID = setInterval(function() { ... }, 1000); 

// When creating the second interval 
clearInterval(intervalID); 
intervalID = setInterval(function() { ... }, 2000); 

간격이 이미 시작하거나되지 않은 경우 당신이 확실하지 않은 경우 intervalID가 설정되어있는 경우, 먼저 확인할 수 있으며, 필요한 경우 선택을 취소합니다.

if(intervalID) clearInterval(intervalID); 
intervalID = setInterval(function() { ... }, 1000);