首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >停止setTimeOut();

停止setTimeOut();
EN

Stack Overflow用户
提问于 2015-02-05 18:03:51
回答 2查看 197关注 0票数 0

请帮助获得一个正确的函数或方法来停止setTimeout函数。

我一直在尝试使用以下代码,但setTimeout“循环”无法停止。我要做的是每5秒获取用户的当前位置,然后按下停止按钮。它就不能确定位置了。

代码语言:javascript
复制
   function geoTrackstart(){  
//geolocation code
}); 
 timer = setTimeout(geoTrackstart, 5000);
}

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

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-05 18:06:06

我想你想这样用:

代码语言:javascript
复制
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
}
票数 1
EN

Stack Overflow用户

发布于 2015-02-05 18:10:42

如果您正在轮询geo,我将使用间隔而不是超时,以便它每5秒运行一次,直到停止为止,这样您就不必每5秒创建一个新的超时--除非您想手动创建超时。

代码语言:javascript
复制
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);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28350947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档