0
即時通訊有點難倒這一個。基本上我有一段代碼,當你點擊一個div時,它會觸發下面的代碼,這會使另一個div閃爍綠色,直到再次點擊該按鈕。問題是當函數再次被調用時,對var的引用不見了,div一直閃爍。保持間隔參考清除間隔
function muteEvent(id) {
var button = "#muteBox".concat(id.charAt(id.length - 1));
var value = $(button).css("background-color");
var slider = "#sliderKnob".concat(id.charAt(id.length - 1));
var animation = function() {
if ($(slider).css("background-color") == 'rgb(0, 128, 0)') {
$(slider).css("background-color", "red")
} else {
$(slider).css("background-color", "green")
}
}
if (value == 'rgb(128, 128, 128)') {
$(button).css("background-color", "red");
var timer = setInterval(animation, 1500)
} else {
alert("here");
clearInterval(timer);
$(button).css("background-color", "#808080");
}
}
'setInterval'返回你可以用'clearInterval'使用ID:'VAR計時器=的setInterval(動畫,1500); ... clearInterval(timer);' – Palpatim 2015-02-10 18:20:44
我這樣做,當我再次調用該函數時,對該id的引用會丟失。 – 2015-02-10 18:24:47
不符合您發佈的代碼。你永遠不會將'setInterval'的值存儲在第一位,並且你可以用函數參數調用'clearInterval',而不是間隔參考。 – Palpatim 2015-02-10 18:26:25