AlibekKulseitov
@AlibekKulseitov
Люблю верстать и писать музыку

Добавлять класс при обновлении страницы?

Есть скриптик который добавляет на navbar класс когда пользователь проскролил страницу вниз.
Теперь такая проблема Если мы дошли до середины сайта и обновим страницу то класс исчезнет и появится только когда мы опять же проскролим с текущего положения.
Как сохранять класс всегда? Чтобы он зависил от вверха сайта а не монитора.
$(window).scroll(function() {
		if($(this).scrollTop() > 50)  /*height in pixels when the navbar becomes non opaque*/
		{
			$('.nav-bar').addClass('nav-bar_collapsed');
		} else {
			$('.nav-bar').removeClass('nav-bar_collapsed');
		}
	});
  • Вопрос задан
  • 181 просмотр
Пригласить эксперта
Ответы на вопрос 2
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Проблема в том, что $(window).scroll в таком случае не вызывается, и класс не добавляется. Поэтому нужно явно вызвать $(window).scroll() после вашего кода, тогда будет выполнено условие и добавлен класс.
Ответ написан
Комментировать
TerNik
@TerNik
if ($(document).scrollTop() > 50) {
	$('.nav-bar').addClass('nav-bar_collapsed');
}
$(window).scroll(function() {
    if($(this).scrollTop() > 50)  /*height in pixels when the navbar becomes non opaque*/
    {
      $('.nav-bar').addClass('nav-bar_collapsed');
    } else {
      $('.nav-bar').removeClass('nav-bar_collapsed');
    }
  });
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы