停止其他功能

时间:2013-10-19 18:38:25

标签: jquery

我的功能有问题,我需要从其他地方停止,例如:

我的功能:

<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>

这个问题就是当我尝试停止加载页面(调用者)时我有如何加载函数我不能停止这个并继续,我如何加载函数和其他方面或相同时间停止。

2 个答案:

答案 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);