我在document.ready中有一个计时器。像这样:
$( document ).ready(function() {
timer = window.setInterval(myAction, 3000);
});
然后我有一个名为pauseTimer()的函数,如下所示:
function pauseTimer() {
timer.pause();
}
但是..为什么这不起作用?
答案 0 :(得分: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>
答案 1 :(得分:0)
你可以试试这个
$( 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>