2014-12-27 2 views
-4

У меня есть код, но он работает со скоростью прокрутки, я хочу сделать что-то другое. Я хочу преобразовать его в Toggle, возможно ли это? Сначала нажмите «Добавить .Aimated» и удалите .fix, на втором нажмите «Удалить .animated» и добавьте .fix.Преобразование IF в TOGGLE

$(window).scroll(function() { 

    var scroll = $(window).scrollTop(); 

    if (scroll > 20) { 
     $header.addClass('animated').removeClass('fix'); 
    } else { 
     $header.removeClass('animated').addClass('fix'); 
    } 

}); 

Я новичок в javascript может мне помочь?

Спасибо!

+0

Вы имеете в виду 'toggleClass'? Он принимает параметр _switch_. – undefined

+0

Да, но я понятия не имею, как его использовать –

+1

Вы прочитали [документацию] (http://api.jquery.com/toggleClass/#toggleClass-className-switch)? – undefined

ответ

1

toggleClass принимает переключатель аргумент, логическое значение. true добавляет className и false удаляет имя класса.

var bool = scroll > 20; 
$header.toggleClass('animated', bool).toggleClass('fix', !bool); 
+0

Мне нужно сделать это, когда я нажму #div. Как я могу это сделать? –

+0

@BerkKaya Использовать 'toggleClass' в вашем обработчике кликов? – undefined

+0

Я не понял ясно, я сделал анимацию css, и я запускаю ее с вашим кодом, когда scrolltop больше 20, но я хочу отключить функцию scrolltop и создать новую кнопку. Когда я нажимаю кнопку, просто запускаю анимацию. Второй клик удалить анимацию. –

0

Я нашел решение вроде этого, возможно, кто-то его использует.

$('.header').on('click', function(e) { 
    $('.header').toggleClass("animated") .removeClass('fix'); 
    e.preventDefault(); 
}); 
Смежные вопросы