代码有什么问题,我无法停止setInterval。
错误:changedHandler_BB未定义。
...
var changedHandler_BB = setInterval(function() {
$("#wc_room_container_BB").addClass('active_chat_block_blink_effect');
setTimeout(function() {
$("#wc_room_container_BB").removeClass('active_chat_block_blink_effect');
}, 500);
}, 1000);
...
$("#wc_block_BB").click(function(){
var newID = $("#LatestLastID_BB").val();
$("#worldchat_last_id_BB").val(newID);
clearInterval(changedHandler_BB);
});
答案 0 :(得分:0)
只需删除'var':
changedHandler_BB = setInterval(function() {...}); //setting variable on global scope {window.changedHandler_BB }
答案 1 :(得分:0)
根据上面的评论 - 您在函数中定义了changedHandler_BB
。您需要在外部作用域中定义它,以便在其他函数中可以访问它
试试这个 -
var changedHandler_BB;
function someFunction() {
changedHandler_BB = setInterval(function () {
$("#wc_room_container_BB").addClass('active_chat_block_blink_effect');
setTimeout(function () {
$("#wc_room_container_BB").removeClass('active_chat_block_blink_effect');
}, 500);
}, 1000);
}
$("#wc_block_BB").click(function () {
var newID = $("#LatestLastID_BB").val();
$("#worldchat_last_id_BB").val(newID);
clearInterval(changedHandler_BB);
});
答案 2 :(得分:0)
changedHandler_BB
是另一个功能。因此,它位于该函数的范围内,而不是在单击事件处理程序中clearInterval
可访问的范围内。这就是您尝试访问它时未定义的原因。
您需要确保changedHandler_BB
与您的点击事件监听器位于同一范围内,或者可以通过它进行访问。