Показать сообщение отдельно
  #1 (permalink)  
Старый 07.09.2021, 13:34
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

Определение расстояние от края браузера и элемента
Я помню что уже делал такой скрипт но не могу найти, пробую по памяти сделать все не работает.

Смысл в том что бы при достижение элемента определенного расстояние до края браузера сверху, ну что бы поменялся стиль. Вроде написал все правильно но не работает и даже нету ошибки.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        header{
            height: 200px;
        
        }
        footer{
            height: 1000px;
        }
        .blok{
            width: 80px;
            height: 80px;
            background-color:#000;
            background-image: url(https://rakipov.ru/files/tsifra1.svg);
            background-repeat: no-repeat;
            background-position: center;
            background-size: 70%;
            border-radius: 7px;
        }
        .blok2{
            width: 80px;
            height: 80px;
            background-color:#000;
            background-image: url(https://rakipov.ru/files/icon1.svg);
            background-repeat: no-repeat;
            background-position: center;
            background-size: 70%;
            border-radius: 7px;
        }
    </style>
</head>
<body>
    <header></header>
    <section>
        <div class="blok"></div>
    </section>
    <footer></footer>
    <script>
        const blok = document.querySelector(".blok");

        let anim1 = () => {
            let ikonka1 = tsifra1.getBoundingClientRect();
            if (ikonka1.top >= 100) {
                blok.classList.add("blok2");
            }
        };
        window.addEventListener("scroll", anim1);
    </script>
</body>
</html>
Ответить с цитированием