Jquery 停止其他功能

Jquery 停止其他功能,jquery,Jquery,我的功能有问题,我需要从其他位置停止此操作,例如: 我的职能: <script> function caller(activate) { if (activate=="on") { setTimeout(function() { alert("ok"); },1000) } /// Stop fu

我的功能有问题,我需要从其他位置停止此操作,例如:

我的职能:

<script>

    function caller(activate)
    {

        if (activate=="on")
        {    
            setTimeout(function() {
            alert("ok");       
            },1000)    
        }

         /// Stop function 
         else {

         }

     }

</script>
<script>

    $("#push").click(function() {

        caller('stop');
    });

</script>

函数调用者(激活)
{
如果(激活==“打开”)
{    
setTimeout(函数(){
警报(“正常”);
},1000)    
}
///停止功能
否则{
}
}
我可以在按如下方式加载页面时调用此函数

<script>
    caller('on');
</script>

呼叫者(‘开’);
当页面最终加载时,我将收到警报

但是我在页面中有其他代码,用于尝试停止该函数:

<script>

    function caller(activate)
    {

        if (activate=="on")
        {    
            setTimeout(function() {
            alert("ok");       
            },1000)    
        }

         /// Stop function 
         else {

         }

     }

</script>
<script>

    $("#push").click(function() {

        caller('stop');
    });

</script>

$(“#推”)。单击(函数(){
呼叫者(“停止”);
});
这个问题是当我加载页面(调用方)时我如何加载函数当我尝试停止时我无法停止并继续,我如何加载函数并在另一侧或同时停止。

这里是一个示例

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

setTimeout返回可用于清除超时的ID:

vat timeoutID;
function caller(activate)
{

    if (activate=="on")
    {    
        timeoutID = setTimeout(function() {
        alert("ok");       
        },1000)    
    }

     /// Stop function 
     else {             
         clearTimeout(timeoutID);
         timeoutID = null;
     }

 }

setTimeout()
clearTimeout()
是处理它的方法,我必须使用clearTimeout()