Javascript 暂停/恢复jQuery倒计时
我正在尝试使用JSJavascript 暂停/恢复jQuery倒计时,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使用JSonClick()事件制作一个可以用单个HTML5按钮标记暂停的倒计时计时器,或者更可取的做法是,使用jQuery和类似$(“#暂停(u resume”).off('click')。on('click',firstClick),并结合另一个函数。从逻辑上讲,我假设该任务需要获取$.min和$.sec的当前值,然后在切换功能时设置这些值,直到再次按下“恢复”按钮。但我真的不知道该怎么做。我看过这个网站和其他网站上的其他代码,但我看到的是严重不推荐的,不符合我的项目计划。任何见解都
onClick()
事件制作一个可以用单个HTML5按钮标记暂停的倒计时计时器,或者更可取的做法是,使用jQuery和类似$(“#暂停(u resume”).off('click')。on('click',firstClick)
,并结合另一个函数。从逻辑上讲,我假设该任务需要获取$.min
和$.sec
的当前值,然后在切换功能时设置这些值,直到再次按下“恢复”按钮。但我真的不知道该怎么做。我看过这个网站和其他网站上的其他代码,但我看到的是严重不推荐的,不符合我的项目计划。任何见解都值得赞赏
HTML:
<p class="timer">
<span class="min"></span>:<span class="sec"></span>/
<span class="fullTime">1:30</span>
</p>
<script type="text/javascript">
var timer = $('.timer');
var leadingZero = function(n) {
if (n < 10 && n >= 0)
return '0' + n;
else
return n;
};
var minutes = 1;
var seconds = 30;
setInterval(function () {
var m = $('.min', timer),
s = $('.sec', timer);
if (seconds == 0) {
minutes--;
seconds = 59;
} else {
seconds--;
}
m.text(minutes);
s.text(leadingZero(seconds));
}, 1000);
</script>
:/
1:30
JavaScript:
<p class="timer">
<span class="min"></span>:<span class="sec"></span>/
<span class="fullTime">1:30</span>
</p>
<script type="text/javascript">
var timer = $('.timer');
var leadingZero = function(n) {
if (n < 10 && n >= 0)
return '0' + n;
else
return n;
};
var minutes = 1;
var seconds = 30;
setInterval(function () {
var m = $('.min', timer),
s = $('.sec', timer);
if (seconds == 0) {
minutes--;
seconds = 59;
} else {
seconds--;
}
m.text(minutes);
s.text(leadingZero(seconds));
}, 1000);
</script>
变量计时器=$('.timer');
var引线零=功能(n){
如果(n<10&&n>=0)
返回“0”+n;
其他的
返回n;
};
var分钟=1;
var秒=30;
setInterval(函数(){
变量m=$('.min',计时器),
s=$('秒',计时器);
如果(秒==0){
分钟--;
秒=59;
}否则{
秒--;
}
m、 文本(分钟);
s、 文本(前导零(秒));
}, 1000);
好吧,我想这就是你想要的
我添加了一个按钮,可以在单击时切换布尔值,以确定是在间隔中设置函数还是清除间隔
var clicked=true;
var counter;
$('button').click(function(){
if(clicked){
counter=setInterval(function () {
var m = $('.min', timer),
s = $('.sec', timer);
if (seconds === 0) {
minutes--;
seconds = 59;
} else {
seconds--;
}
m.text(minutes);
s.text(leadingZero(seconds));
}, 1000);
}
else{
clearInterval(counter);
}
clicked=!clicked;
});