0

関数に問題があります。たとえば、これを他のから停止する必要があります。

私の機能:

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

これの問題は、停止しようとしたときにページ(呼び出し元)をロードするときに関数をロードする方法です。これを停止して続行することはできません。関数をロードして反対側または同時に停止する方法です。

4

2 に答える 2

1

setTimeout は、タイムアウトをクリアするために使用できる ID を返します。

vat timeoutID;
function caller(activate)
{

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

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

 }
于 2013-10-19T19:09:07.157 に答える