Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.01.2011, 21:51
Профессор
Отправить личное сообщение для Andrei Посмотреть профиль Найти все сообщения от Andrei
 
Регистрация: 31.10.2009
Сообщений: 151

Скрыть теги с задержкой
Здравствуйте. Добавляю при клике 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);
    });
});
Ответить с цитированием
  #2 (permalink)  
Старый 09.01.2011, 22:15
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

Сделайте, например, флаг 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);
    });
});
Ответить с цитированием
  #3 (permalink)  
Старый 09.01.2011, 22:27
Профессор
Отправить личное сообщение для Andrei Посмотреть профиль Найти все сообщения от Andrei
 
Регистрация: 31.10.2009
Сообщений: 151

Amphiluke, разобрался, спасибо !

Последний раз редактировалось Andrei, 09.01.2011 в 22:37.
Ответить с цитированием
  #4 (permalink)  
Старый 09.01.2011, 23:20
Кандидат Javascript-наук
Отправить личное сообщение для Nightmare Посмотреть профиль Найти все сообщения от Nightmare
 
Регистрация: 16.04.2010
Сообщений: 133

delay(4000)
Ответить с цитированием
  #5 (permalink)  
Старый 10.01.2011, 07:42
Профессор
Отправить личное сообщение для Andrei Посмотреть профиль Найти все сообщения от Andrei
 
Регистрация: 31.10.2009
Сообщений: 151

Спасибо, вместо Timeout сделал:
$('#notesBlock .note:last').slideDown(150).delay(3000).slideUp(300, function(){$(this).remove();});

Последний раз редактировалось Andrei, 10.01.2011 в 08:14.
Ответить с цитированием
  #6 (permalink)  
Старый 10.01.2011, 17:31
Профессор
Отправить личное сообщение для Andrei Посмотреть профиль Найти все сообщения от Andrei
 
Регистрация: 31.10.2009
Сообщений: 151

Извиняюсь за вопрос, но как определить существует ли элемент, по id ?

if (элемент) alert(1);
Ответить с цитированием
  #7 (permalink)  
Старый 10.01.2011, 17:39
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

Ну, если метод getElementById вернет null, то элемент не существует.


--

Либо, если нужен jQuery, то
if ($("#id").length == 0) alert("Element do not exist")

Последний раз редактировалось Amphiluke, 10.01.2011 в 17:44.
Ответить с цитированием
  #8 (permalink)  
Старый 10.01.2011, 20:44
Профессор
Отправить личное сообщение для Andrei Посмотреть профиль Найти все сообщения от Andrei
 
Регистрация: 31.10.2009
Сообщений: 151

Amphiluke, спасибо
Ответить с цитированием
  #9 (permalink)  
Старый 10.01.2011, 23:54
Кандидат Javascript-наук
Отправить личное сообщение для Nightmare Посмотреть профиль Найти все сообщения от Nightmare
 
Регистрация: 16.04.2010
Сообщений: 133

.is('#myId')

or

if ($(id).length) // все кроме 0 имеют true так что можно и без сравнения
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрыть ссылку на js Googert Общие вопросы Javascript 10 21.02.2012 17:29
Убирает теги подскажите KonstantinK Элементы интерфейса 12 09.07.2010 17:43
Как текст из responseText преобразовать в теги? Бобр AJAX и COMET 24 26.02.2010 04:37
Флэш с задержкой osvezhitel Элементы интерфейса 3 08.02.2010 16:35
Скрыть теги OPTION в SELECT Urfin jQuery 2 30.08.2009 15:16