serovpochta
@serovpochta
Лысый

Как изменить background-color DIV class на определенной высоте (замена цвета элемента при скролле)?

По возможности, дайте пожалуйста точный ответ
  • Вопрос задан
  • 256 просмотров
Решения вопроса 2
iiiBird
@iiiBird Куратор тега CSS
Пока ты спишь - твой конкурент совершенствуется
$(window).scroll(function() {
    if ($(this).scrollTop() > 228) {$('div').addClass('green');}
});

228 можешь вычислять к примеру через .offset() дива. если нужно в каком-то положении
Ответ написан
Либо не через классы:

$(window).scroll(function () {
  if ($(this).scrollTop() >= 0 && $(this).scrollTop() < 100) {
    $('div').css('backgroundColor', 'red');
  } else if ($(this).scrollTop() >= 100 && $(this).scrollTop() < 200) {
    $('div').css('backgroundColor', 'blue');
  } else if ($(this).scrollTop() >= 200 && $(this).scrollTop() < 300) {
    $('div').css('backgroundColor', 'green');
  } else if ($(this).scrollTop() >= 300 && $(this).scrollTop() < 400) {
    $('div').css('backgroundColor', 'yellow');
  } else {
    $('div').css('backgroundColor', 'black');
  }
});


codepen.io/AmateR/pen/rLkqKZ
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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