gpt4 book ai didi

javascript - setInterval/clearInterval 范围内的问题

转载 作者:行者123 更新时间:2023-11-28 16:37:12 27 4
gpt4 key购买 nike

我有以下代码,它工作正常,直到我点击 #play 按钮。我假设这是因为 var intID 设置在另一个地方,并且当我 window.clearInterval() 它时它不在同一范围内...我该如何解决这个问题?顺便说一句,这是 Google Maps API 版本 3

  function intervalTrigger(){
return window.setInterval(function(){
placement++;
if(placement >= markers.length){placement = 0;}
google.maps.event.trigger(markers[placement], "click");
}, 5000);
};

var intID = intervalTrigger();

$('#map_canvas').click(function(){window.clearInterval(intID);});

$('a[href=#nextmarker]').live('click',function(){
placement++;
if(placement >= markers.length){placement = 0};
google.maps.event.trigger(markers[placement], "click");
window.clearInterval(intID);
$('a[href=#pause]').replaceWith('<a href="#play">Play</a>');
return false;
});
$('a[href=#prevmarker]').live('click',function(){
placement--;
if(placement == -1){placement = markers.length-1}
google.maps.event.trigger(markers[placement], "click");
window.clearInterval(intID);
$('a[href=#pause]').replaceWith('<a href="#play">Play</a>');
return false;
});
$('a[href=#play]').live('click',function(){
$('a[href=#play]').replaceWith('<a href="#pause">Pause</a>');
var intID = intervalTrigger();
return false;
});
$('a[href=#pause]').live('click',function(){
window.clearInterval(intID);
$('a[href=#pause]').replaceWith('<a href="#play">Play</a>');
return false;
});

最佳答案

将 #play 点击处理程序中的 var 删除为以下内容:

$('a[href=#play]').live('click',function(){
$('a[href=#play]').replaceWith('<a href="#pause">Pause</a>');
intID = intervalTrigger();
return false;
});

这将正确设置全局 var intID 的值,以便其他事件处理程序可以使用它。

关于javascript - setInterval/clearInterval 范围内的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3358093/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com