У меня проблема со сбросом setTimeout. Я пытался использовать clearTimeout():Сброс setTimeout
function formMsg(text){
if (text == "success"){
$(".alert-msg").removeClass("hidden alert-danger").addClass("alert-success");
$(".alert-success .msg").html("<b>Well done!</b> You successfully added order.");
} else {
$(".alert-msg").removeClass("hidden alert-success").addClass("alert-danger");
$(".alert-danger .msg").html("<b>F***!</b> Something went wrong.");
}
window.clearTimeout(timer);
var timer = window.setTimeout(function()
{
$(".alert-msg").fadeOut("slow", function() {
$(this).addClass('hidden').show(0);
});
}, 2000);
}
, но без результата. Я ожидаю, что когда вы нажмете, таймер снова замеряет две секунды.
Так что вопрос вы сталкиваетесь? –
'timer' - локальная переменная внутри области вашей функции. Таким образом, при следующем щелчке, идентификатор интервала, создаваемый при первом щелчке, не будет доступен. Вам нужно переместить переменную во внешнюю область, к которой имеют доступ оба «экземпляра» функции обработчика. – CBroe