Суть:
1. Есть фиксированная панель навигации
2. Имеются разные блоки, среди которых есть много блоков с одинаковым классом .container
Цель:
Когда какой-либо блок с классом .container находится под навигацией .nav, нужно добавить к навигации класс .active)
Т.е. когда блок .container пересекается с навигацией - у навигации должен быть добавлен класс .active. Если они не пересекаются, значит класс .active должен быть убран.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<nav class="nav"></nav>
<!-- У этого контейнера нет класса container, поэтому при пересечении с навигацией ничего не должно происходить -->
<div style="height: 1000px; background: yellow"></div>
<!-- Контейнер имеет класс .container, значит при пересечении с навигацией к ней добавляется класс .active -->
<section class="container" style="height: 1000px; background: green"></section>
<div style="height: 1000px; background: yellow"></div>
<section class="container" style="height: 1000px; background: blue"></section>
<style>
.nav {
background: red;
position: fixed;
top: 0;
left: 0;
height: 50px;
width: 100%;
z-index: 1;
}
.nav.active {
opacity: 0.25;
}
</style>
</body>
</html>