Я действительно хочу знать, почему важно использовать function(next)
и next()
в следующем коде. Без next()
вы можете удалить класс .open-sidebar
один раз после того, как вы его добавили, нажав .header__menu__button--profile
.Зачем использовать next() для добавления и удаления класса несколько раз?
Я думал, что next()
используется, чтобы выбрать следующего брата или сестры:
Зачем мне это нужно, чтобы удалить класс .open-sidebar
каждый раз, когда я нажимаю на .sidebar__top__button--close
?
$('.header').on('click','.header__menu__button--profile',function(){
$('.sidebar').addClass('open-sidebar');
});
$('.sidebar').on('click','.sidebar__top__button--close',function() {
if($('.sidebar').hasClass('open-sidebar'))
{
$('.sidebar').delay(300).queue(function(next){
$('.sidebar').removeClass('open-sidebar');
next();
});
}
});
Добро пожаловать в асинхронное программирование. Прочитайте, как jQuery ['queue'] (http://api.jquery.com/queue/#queue2) и асинхронное программирование в целом работают. – DCoder
следующее должно быть определено где-то. – HerrSerker
@HerrSerker это - он находится в списке параметров обратного вызова. – Alnitak