2016-12-15 14 views
-2

私はdocument.readyの中にタイマーを持っています。document.readyを一時停止する外部関数を使用してsetInterval

$(document).ready(function() { 

    timer = window.setInterval(myAction, 3000); 

}); 

その後、私はpauseTimer(と呼ばれる機能を持っている)、このような:

function pauseTimer() { 

    timer.pause();   

} 

しかし...なぜこれが動作していないこのような?

+1

を試すことができます:['たsetInterval() '](HTTPS:/ /developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval) – Andreas

+0

あなたが探しているのはclearInterval(tiマー); –

+0

@アンドレアスは私自身のsetinterval機能を作れますか? – Mahi

答えて

0

`timer`が数であるため、この

$(document).ready(function() { 
    var timer = window.setInterval(myAction, 1000); 
    function pauseTimer() { 
    clearInterval(timer)   
    } 
    function playTimer() { 
    timer = window.setInterval(myAction, 1000);   
    } 
    function myAction(){ 
    console.info('myAction') 
    } 
    $("#play").click(function(){ 
    playTimer() 
    }); 
    $("#pause").click(function(){ 
    pauseTimer() 
    }); 
}); 

HTML

<div> 
    <button id="play" >play</button> 
    <button id="pause" >pause</button> 
</div> 
0

間隔を一時停止することはできません。間隔を停止/クリアし、必要に応じて再起動することができます。

var timer; 
 

 
function myAction() { 
 
    console.log('my action'); 
 
}; 
 

 
$(function() { 
 
    
 
    $(document).on('click', '#start', function(){ 
 
    timer = window.setInterval(myAction, 3000); 
 
    }); 
 
    
 
    $(document).on('click', '#stop', function(){ 
 
    window.clearInterval(timer); 
 
    }); 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<button id="start">Start/Restart interval</button> 
 
<button id="stop">Stop interval</button>

関連する問題