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

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

Что я делаю я нахожу элемент и добавляю ему
const soderzjaniyaStatiya1_3 = document.querySelector(".soderzjaniya_statiya:nth-child(3)").getBoundingClientRect();
В функции я пишу если если параметр 0 или меньше
if(soderzjaniyaStatiya1_3.top <= 0)
то выполни следующее действие, вот этому элементу добавь класс
zagalovokNav1_3.classList.add("zagalovok_nav_selec t");
И вешаю то что бы отслеживать класс
window.addEventListener("scroll", kraiOkna);

const zagalovokNav1_3 = document.querySelector(".zagalovok_nav:nth-child(3)");
const soderzjaniyaStatiya1_3 = document.querySelector(".soderzjaniya_statiya:nth-child(3)").getBoundingClientRect();
function kraiOkna(){
    if(soderzjaniyaStatiya1_3.top <= 0)
        {
            zagalovokNav1_3.classList.add("zagalovok_nav_select");
        }
}
window.addEventListener("scroll", kraiOkna);


Вот все логично но не работает так как нужно, то есть работает, но что бы сработало нужно обновить, то есть он так сказать в реальном времени не работает.
Ответить с цитированием