Я использую этот плагин под названием transit.js для создания простой анимации меню, и в основном у меня есть следующее меню, см. ниже:
Код открытия и закрытия меню выглядит следующим образом:
$('.main-header .nav-toggle-button').on('click' , function() {
// $('.main-header .navigation').toggleClass('show');
if ($('.main-header .navigation').hasClass('show')) {
$('.main-header .navigation').stop().removeClass('show');
return false;
}
$('.main-header .navigation').stop().transition({
perspective: '1000px',
rotateY: '180deg',
duration : 0
}, function() {
$(this).addClass('show').stop().transition({ rotateY: '0' });
});
return false;
});
ДЕМО ЗДЕСЬ, (извините, скрипка просто не воссоздает эту проблему.)
ОШИБКА. Как видно, при закрытии анимации нет, меню уходит, теперь эта ошибка возникает, когда страница прокручивается больше, чем
200px+
и ниже992px
width, поэтому в основном при нажатии на гамбургер, меню открывается с анимацией вращения, но когда вы нажмите гамбургер снова, меню иногда не закрывается, хотя класс 'show' был удален из меню.
Это одна из этих ошибок, которая находится вне меня, проверка на консоли и переход через JS-код просто не помогли.
Я был бы очень признателен, если бы кто-нибудь мог указать, что я делаю неправильно здесь, поскольку JS и CSS действительно кажутся совершенными, но css-преобразования с использованием транзита просто не работают, как ожидалось.