我在这里(至少6次)多次问过这个问题,答案范围从不正确使用变量到不正确的范围。但是,我仍然无法获得clearInterval来停止计时器。
我将在下面发布完整的代码-但我想做一些非常简单的事情。我只是想让代码刷新一个图像(在mapbox中),直到选择了另一个图像。另一个图像将加载,但计时器不会停止,因此它将继续刷新旧图像。
我设置了一个名为“ refreshtimerA”的全局变量来保存setInterval。
在addKEWX_REFLECTIVITY_toA()中,此函数运行计时器,并使用称为refreshKEWXL2REFLECTIVITY_A()的嵌套函数刷新该窗口中的图像(这是天气图)。这行得通。
当用户激活功能addGOES_16_toA()时,它应该(如我所添加的)激活clearInterval(refreshtimerA);但这并不能阻止它。
我尝试了很多变化并在这里进行了筛选,但找不到有效的答案。我希望解决这个问题,因为我的整个项目都完全停留在应该简单的事情上。我的代码:
edit:链接到保管箱完整的html / js示例:https://www.dropbox.com/s/11y2i859csj3o6k/stackoverflow.zip?dl=0
impl<T, B> IntoBox<B> for T
where
Box<T>: Into<Box<B>>,
{
fn into_box(self) -> Box<B> {
Box::new(self).into()
}
}
impl<T, B: ?Sized> IntoBox<B> for T
where
B: std::marker::Unsize<T>
{
fn into_box(self) -> Box<B> {
Box::new(self)
}
}
答案 0 :(得分:1)
在替换$this->form_validation->set_rules('term_id[]', 'Term', 'trim|required');
的值之前,您必须确保调用function combineElements(element1, element2) {
Object.getOwnPropertyNames(element1).forEach(function(k1) {
if (element2[k1]) {
element1[k1] = element1[k1] + " " + element2[k1];
}
});
}
,例如:
clearInterval
答案 1 :(得分:1)
希望该示例可以帮助您解决问题
var t; // timer id
var buttonStart = document.querySelector("#start");
var buttonStop = document.querySelector("#stop");
var timerDiv = document.querySelector("#timer");
buttonStart.onclick = function(){
timerDiv.innerText = "Wait 3 seconds...";
t = setTimeout(function(){
timerDiv.innerText = "OK";
t = null;
}, 3000);
}
buttonStop.onclick = function(){
if(t){
clearTimeout(t);
t = null;
timerDiv.innerText = "Stoped";
} else {
timerDiv.innerText = "It no timer";
}
}
<div id="timer">unset</div>
<div>
<input type="button" id="start" value="start">
</div>
<div>
<input type="button" id="stop" value="stop">
</div>