Как запустить событие scroll сразу?

есть такой код:
$(window).scroll(function(){
  ($(window).scrollTop() > 400 && $(window).scrollTop())?
    $('.logo').addClass('black'):
    $('.logo').removeClass('black');
});


.black {
    filter: none !important;
}
.logo {
    transition: filter ease 0.8s;
    filter: saturate(0) brightness(200%) contrast(200%);
}


он добавляет клас (black) при прокрутке, но дело в том что когда перезагрузить страницу на середине то он не работает сразу, а только когда задействовать скролл, как реализовать чтобы при перезагрузке страницы он сразу срабатывал?
  • Вопрос задан
  • 120 просмотров
Решения вопроса 1
KickeRocK
@KickeRocK
FrontFinish
$( document ).ready(function() {
    $(window).scroll();
});

Up:
Если хотите чтобы оно менялось только при повторном скролле
то сделайте не .addClass/removeClass, а .toggleClass('ваш класс');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@bogomazov_vadim
Не проще эту функцию в скролле вытащить отдельно и повесить ее на скролл и document.ready?
Ответ написан
Комментировать
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
$(window).ready(function(){
    $('.logo').addClass('black');
});

Если код с $(window).scroll(...) оставить - то при скроллинге black исчезнет, а потом появится.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы