2015-05-14 4 views
0

У меня действие OnClick для выполнения этой функции:JQuery removeClass анимация не работает

$('#generalMenu').stop(true, true).toggleClass('slideLeft', 1000)

slideLeft и делает слайд, когда toggleClass имеет addClass режим на нем, а не на removeClass - как мог Я делаю это для обоих?

+0

'toggleClass' принимает два параметра, имя класса и boolean для включения и выключения. Вы даете ему числовое значение 1000, которое всегда верно. –

+0

@TomMarulak, тогда вы можете показать мне, как это будет сделано правильно? – Xeen

+0

Я не уверен, что вы пытаетесь сделать. Вы пытаетесь переключить класс или анимировать '# generalMenu'. Создайте демо, чтобы каждый мог видеть, что не работает. Если вы хотите оживить, посмотрите этот пост http://stackoverflow.com/questions/596608/slide-right-to-left –

ответ

0

Вы пробовали просто:

$('#generalMenu').toggleClass('slideLeft', 1000); 

или

setTimeout(function(){ 
    $('#generalMenu').toggleClass('slideLeft'); 
},1000) 

или вместо функции OnClick изменить код:

$('.element').click(function(){ 
    $('#generalMenu').toggleClass('slideLeft'); 
}) 

другой способ используется, если/иначе условные :

$('.element').click(function(){ 
    if($('#generalMenu').hasClass('slideLeft')){ 
     $('#generalMenu').removeClass('slideLeft'); 
    } else { 
     $('#generalMenu').addClass('slideLeft'); 
    } 
}); 
+0

Да, и это ничего не меняет. – Xeen

+0

Хмм, возможно, это время, которое его испортило, вы можете попробовать '.toggleClass ('slideLeft')' и обернуть его в SetTimeout, чтобы создать задержку. Вам нужно установить 1 секунду задержки по любой причине? – Pixelomo

+0

К сожалению, ни одно из этих решений не работает – Xeen

0

Попробуйте добавить продолжительность перехода: 1000; к вашему css для #generalMenu.

#generalMenu { transition-duration: 1000; } 
1

Я приземлился здесь, потому что я не мог получить removeClass для анимации. Как уже указывалось ранее, addClass и removeClass не принимают параметр продолжительности. Это только возможно, когда загружен jqueryUI.

Несмотря на то, что у меня были проблемы.

Я решил мину путем изменения CSS от:

.active { bottom: -150px; } 

To:

.active { margin-top: 150px; } 

После этого, как addClass и removeClass-методы были анимировать, как освобожденный!

Смежные вопросы