我试图制作一个倒计时时钟并且它每秒都会倒计时,但是当用户输入新的第二个值时,它不会重新开始,但会从之前的值继续......如何我能改变吗?
function clock() {
var $s = $(".second"),
s = setInterval(1000);
setTimeout("clock()", 1000);
$s.val(s).trigger("change");
}
clock();
答案 0 :(得分:0)
也许你可以试试这个
$(document).ready(function(){
$(".second").knob()
setUpClock();
// destroy the prev clock during user input
$(".second").keydown(function(){
tearDownClock();
});
//restart the clock when the user navigates away from the input
$(".second").blur(function(){
if(!interval){
setUpClock();
}
});
});
function clock(){
var secHtml = $(".second");
var sec = secHtml.val();
if(sec-1>=0){
secHtml.val(sec-1);
secHtml.change();
}
else{
tearDownClock();
}
}
function setUpClock(){
interval = setInterval(clock,1000);
}
function tearDownClock(){
window.clearInterval(interval);
interval=null;
}
这是新的UNBROKEN Fiddle