Novitsky
@Novitsky
Веб-разработчик, дизайнер, фотограф

Как поменять класс у body при прокрутке к определенному элементу?

Здравствуйте.
Необходимо, чтобы при прокрутке страницы к блоку с определенным id, к body добавлялся класс. А при прокрутке выше класс удалялся.
Как это можно реализовать с помощью jQuery?
  • Вопрос задан
  • 2067 просмотров
Решения вопроса 1
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
document.onscroll = function(){
  var what = document.querySelector("#id").getBoundingClientRect().top;
  document.body.classList.toggle(
    "class", what <= window.innerHeight
   );
}


jsfiddle.net/eoeyuo30/1

Или на jq:
$(document).scroll(function(){
  var what = $("#id").offset().top, 
        pos = $(window).height() + $(window).scrollTop()
  $("body").toggleClass("class", what <= pos);
});


jsfiddle.net/eoeyuo30/2
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Menlod
@Menlod
Front-end developer
Примерно так
$(window).on('scroll', function(){
    if($(window).scrollTop() >= $('.element').offset().top){
      $('body').addClass('new-class');
    }
  });
Ответ написан
Ваш ответ на вопрос

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

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