我在我的html頁面中有兩個倒數計時器按鈕。當單擊這兩個按鈕時,在5秒的間隔內,它將工作,但是當第一個完成時或達到0,另一個計時器也停在5秒。在同一頁中的兩個倒計時器無法正常工作(javascript jquery)
我會把我的JS代碼放在下面。
// JavaScript Document for timer
var InterValObj;
var count = 10;
var curCount;
var code = "";
var codeLength = 6;
function sendMessage() {
curCount = count;
var dealType;
var uid = $("#uid").text();
$("#btnSendCode").attr("disabled", "true");
$("#btnSendCode").text(+curCount + "s後重新獲取");
$("#btnSendCode").css('background', '#999');
InterValObj = window.setInterval(SetRemainTime, 1000);
}
function SetRemainTime() {
if (curCount == 0) {
window.clearInterval(InterValObj);
$("#btnSendCode").removeAttr("disabled");
$("#btnSendCode").text("獲取驗證碼");
$("#btnSendCode").css('background', '#8d44ad');
code = "";
} else {
curCount--;
$("#btnSendCode").text(+curCount + "s後重新獲取").css('background', '#999');
console.log(curCount);
}
}
function sendMessage1() {
curCount = count;
var dealType;
var uid = $("#uid").text();
$("#btnSendCodeSec").attr("disabled", "true");
$("#btnSendCodeSec").text(+curCount + "s後重新獲取");
$("#btnSendCodeSec").css({
"color": "#999",
"background": "#fff"
});
InterValObj = window.setInterval(SetRemainTime1, 1000);
}
function SetRemainTime1() {
if (curCount == 0) {
window.clearInterval(InterValObj);
$("#btnSendCodeSec").removeAttr("disabled");
$("#btnSendCodeSec").text("獲取驗證碼");
$("#btnSendCodeSec").css({
"color": "#fff",
"background": "#ffc343"
});
} else {
curCount--;
$("#btnSendCodeSec").text(+curCount + "s後重新獲取").css({
"color": "#999",
"background": "#fff"
});
}
}
這是一個很好的解決方案。如果你想減少你的代碼,你可以使用$('#btnSendCode1,#btnSendCode2')。click(function(){var x = new sendMessage(this);}); –
是的。我爲了更好的理解,這樣寫道。 – Anuresh