嗨我有以下代码,它将倒计时3秒。但是当为0时我想重置秒数,当我再次调用此函数开始计数时。
var seconds = 3;
var second = 0;
var interval;
function countdown(){
$("#counterOverlay").fadeTo(1000, 1);
$("#counter").fadeTo(1000, 1);
interval = setInterval(function() {
$("#counter").text((seconds - second));
if (second >= seconds) {
playVideo();
clearInterval(interval);
}
second++;
}, 1000);
}
答案 0 :(得分:0)
在函数内初始化second
并更改此函数。
var seconds = 3;
var second;
var interval;
function countdown(){
second = 0;
$("#counterOverlay").fadeTo(1000, 1);
$("#counter").fadeTo(1000, 1);
interval = setInterval(function() {
if (second < seconds) {
$("#counter").text((seconds - second));
playVideo();
clearInterval(interval);
}
second++;
}, 1000);
}
每次调用函数时都会重置第二个。
答案 1 :(得分:0)
您需要重置second
变量的值。
var interval = setInterval(function() {
$("#counter").text((seconds - second));
second++;
if (second == seconds) {
second = 0;
}
}, 1000);
var seconds = 3;
var second = 0;
var interval;
$("#counter").fadeTo(1000, 1);
var interval = setInterval(function() {
$("#counter").text((seconds - second));
second++;
if (second == seconds) {
second = 0;
}
}, 1000);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="counter">a</div>
&#13;
注意:我故意删除了以下代码段,以简化操作。
if (second >= seconds) {
playVideo();
clearInterval(interval);
}