Добавить класс в фиксированный div, когда - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть фиксированный div, и я хочу добавить к нему класс, когда он полностью закончится другим div. Мне удалось добавить класс, основанный на том, когда второй div достигает вершины, но это не совсем то, чего я хочу, поскольку я хочу добавить класс, основанный на том, какой div находится под ним.

var distance = $('.Section-2').offset().top,
    $window = $(window);

$window.scroll(function() {
    if ( $window.scrollTop() >= distance ) {
         $(".hamburger-box").addClass('orange');
    }
	else {
		$(".hamburger-box").removeClass('orange');
	}
  });
.hamburger-box {
  position: fixed;
  background: red;
  width: 100px;
  height: 100px;
}

.Section-1 {
  height: 1000px;
  background: blue;
}

.Section-2 {
  height: 1000px;
  background: green;
}

.orange {
    background: orange;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="hamburger-box">

</div>

<div class="Section-1">

</div>

<div class="Section-2">

</div>

1 Ответ

0 голосов
/ 30 сентября 2019

Вы можете минусовое смещение высоты коробки гамбургера, как this

var distance = $('.Section-2').offset().top - $('.hamburger-box').outerHeight(),
    $window = $(window);

$window.scroll(function() {
    if ( $window.scrollTop() >= distance ) {
         $(".hamburger-box").addClass('orange');
    }
    else {
        $(".hamburger-box").removeClass('orange');
    }
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...