Задержка реакции на клик ы Jquery

S
На сайте с 20.08.2007
Offline
140
2890

Необходимо по клику осуществить два последовательных действия:

1. Удалить класс у элемента

2. Удалить класс у другого элемента.

Последнее действие должно происходить с задержкой в 1 сек.

Установка setTimeout не решает проблему, класс удаляется мгновенно.

Вот примерный код, от которого пляшу:


$("#id").click(function () {
$(this).closest(".class0").removeClass("class1"); //это должно выполниться сразу
$(this).parent().removeClass("class2"); // это с задержкой
});

Никак не могу понять как заставить работать setTimeout в этом случае.

---------- Добавлено 19.04.2015 в 20:54 ----------

Получилось сделать так:


$("#id").click(function () {
$(this).closest(".class0").removeClass("class1"); //это должно выполниться сразу
deleteVisible($(this));
});

function deleteVisible(item) {
setTimeout(function () {
item.parent("ul").removeClass("class2");
}, 1000);
};
B3
На сайте с 09.12.2014
Offline
21
#1

Такой вариант не работает?

 $("#id").click(function () { 
var item = $(this);
item.closest(".class0").removeClass("class1"); //это должно выполниться сразу
setTimeout(function () {
item.parent("ul").removeClass("class2");
}, 1000);
};

Не забудьте разрулить вариант, когда при повторном клике класс навешивается мгновенно

рыбу не убить
S
На сайте с 20.08.2007
Offline
140
#2
br3t:
Такой вариант не работает?

 $("#id").click(function () { 

var item = $(this);
item.closest(".class0").removeClass("class1"); //это должно выполниться сразу
setTimeout(function () {
item.parent("ul").removeClass("class2");
}, 1000);
};


Не забудьте разрулить вариант, когда при повторном клике класс навешивается мгновенно

Ваш вариант для меня так же был очевидным и я сильно удивился, что он не работает.

Обработчик клика просто игнорирует установленный таймаут: есть событие - все, что на это событие выполняется немедленно.

При повторном клике меня вполне устроит мгновенное добавление класса. Задержка была нужна для того, чтобы успела выполниться анимация на CSS, которая навешена на класс.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий