Скрыть теги с задержкой
Здравствуйте. Добавляю при клике div блоки на страницу, подскажите пожалуйста как их убрать по истечению 4 секунд с последнего клика ?
$(document).ready(function () { $("body").append('<div id="notesBlock"></div>'); $('body').click(function () { $('#notesBlock').append('<div class="note error">error</div>'); $('#notesBlock .note:last').slideDown(150); if (notesOff) clearTimeout(notesOff); var notesOff = setTimeout(function () { $('#notesBlock .note').remove(); }, 4000); }); }); |
Сделайте, например, флаг notesOff свойством функции-обработчика. Тогда он будет сохраняться от вызова к вызову.
$(document).ready(function () { $("body").append('<div id="notesBlock"></div>'); $(document).click(function () { $('#notesBlock').append('<div class="note error">error</div>'); $('#notesBlock .note:last').slideDown(150); if (arguments.callee.notesOff) clearTimeout(arguments.callee.notesOff); arguments.callee.notesOff = setTimeout(function () { $('#notesBlock .note').remove(); }, 4000); }); }); |
Amphiluke, разобрался, спасибо !
|
delay(4000)
|
Спасибо, вместо Timeout сделал:
$('#notesBlock .note:last').slideDown(150).delay(3000).slideUp(300, function(){$(this).remove();}); |
Извиняюсь за вопрос, но как определить существует ли элемент, по id ?
if (элемент) alert(1); |
Ну, если метод getElementById вернет null, то элемент не существует.
-- Либо, если нужен jQuery, то if ($("#id").length == 0) alert("Element do not exist") |
Amphiluke, спасибо
|
.is('#myId')
or if ($(id).length) // все кроме 0 имеют true так что можно и без сравнения |
Часовой пояс GMT +3, время: 05:50. |