我的功能有问题,我需要从其他地方停止,例如:
我的功能:
<script>
function caller(activate)
{
if (activate=="on")
{
setTimeout(function() {
alert("ok");
},1000)
}
/// Stop function
else {
}
}
</script>
我可以在加载页面时调用此函数
<script>
caller('on');
</script>
当页面加载最后我会收到警告
但我在页面内有其他代码试图停止该功能:
<script>
$("#push").click(function() {
caller('stop');
});
</script>
这个问题就是当我尝试停止加载页面(调用者)时我有如何加载函数我不能停止这个并继续,我如何加载函数和其他方面或相同时间停止。
答案 0 :(得分:1)
setTimeout返回一个可用于清除超时的ID:
vat timeoutID;
function caller(activate)
{
if (activate=="on")
{
timeoutID = setTimeout(function() {
alert("ok");
},1000)
}
/// Stop function
else {
clearTimeout(timeoutID);
timeoutID = null;
}
}
答案 1 :(得分:0)
这是一个例子
var timeoutGlobalReference ; // Storing the setTimeout return value which is a kind of id
function caller(){
timeoutGlobalReference = setTimeout(function(){alert("ok");},5000);
}
// Timeout get initiated
caller();
// Prevent the function from being executed if it hasn't already been called by setTimeout
clearTimeout(timeoutGlobalReference);