var timer = 0;
// 倒计时函数
_jisuan (elementId, valueElem, count=3) {
// 选择弹框id 填值元素 计时时间
var sum = count;
timer = setInterval(function () {
count--;
document.getElementById(valueElem).innerHTML = "请取走卡片 (" + count +"S)";
<!-- 值为0 就销毁计时器 避免计算错乱 -->
if (count <= 0) {
clearInterval(timer);
// timer = null;
// console.log('销毁');
document.getElementById(elementId).style.display = 'none'
}
}, 1000);
document.getElementById(valueElem).innerHTML ="请取走卡片 ("+ sum+ "S)"; //还原数值 每次点击进去的初始数字是 sum
}
还需要在不需要的时候,清除timer! 避免计数错乱
// 封装弹窗 -- 显示/隐藏
_hiddenTheWindowContainer(name) {
clearInterval(timer) //清除timer
let container = $($(document)[0]).find('div.' + name);
if (container.css('display') === "none") {
// 显示
container.css('display', 'block');
} else {
// 关闭
container.css('display', 'none');
}
}