2015-02-05 2 views
0

올바른 기능 또는 setTimeout 기능을 중지하는 방법을 얻는 데 도움을주십시오.중지 setTimeOut();

다음 코드로 시도했지만 setTimeout "루프"를 중지 할 수 없습니다. 내가하려는 것은 5 초마다 사용자의 현재 위치를 얻은 다음 중지 버튼을 누르면됩니다. 그것은 위치를 얻는 중지합니다.

function geoTrackstart(){ 
//geolocation code 
}); 
timer = setTimeout(geoTrackstart, 5000); 
} 

function geoTrackstop(){ 
    clearTimeout(geoTrackstart); 
      timer = 0; 
} 
+3

구글 질문 제목을 원하지 않는 한 ... – August

+0

을 그는 단지했다 생각 @August Google로부터 금지되었습니다. 그리고 다른 검색 엔진은 없습니다 ... –

답변

1

난 당신이 이런 식으로 사용하려는 생각 :

function geoTrackstart(){ 
    //geolocation code 
}); 
timer = setTimeout(geoTrackstart, 5000);//set timer 

function geoTrackstop(){ 
    clearTimeout(timer);//clear the timer 
    //setTimeout(geoTrackstart,5000);//set timeout if you want to run again 
} 
0

당신 때까지 5 초마다 실행하는 것 있도록 내가 오히려 제한 시간보다 간격을 사용하려는 지리적 폴링 경우 중지,이 방법은 새로운 제한 시간을 5 초마다 생성 할 필요가 없습니다 - 수동으로 시간 제한을 만들 :

var geoFetchInterval; 
function geoTrackstart(); {}; 

//if you want it to run immediately the first time 
geoTrackStart(); 

//start the interval 
geoFetchInterval = setInterval(geoTrackStart, 5000); 

function getTrackStop() { 
    clearInterval(geoFetchInterval); 
}; 

//assuming jquery 
$('#stop-button').on('click', getTrackStop);