Никак не получается решить задачку:
Использую scrollify.js на сайте (при скроле вниз/вверх переходим к следующему блоку). В body мне надо добавлять класс с индексом текущего слайда:
<body class="desktop-page slider-1"> // открыт первый слайдер
<body class="desktop-page slider-2"> // открыт второй слайдер и т.д...
Я пробовал сделать так:
var sno = index+1; // Получаем текущий индекс слайда
document.getElementsByTagName("body")[0].className = 'desktop-page slider-'+sno; // Перезаписываем класс
Да, так все работает, но проблема в том, что мне надо не трогать класс desktop-page, то есть менять только slider-(тут индекс текущего слайда).
Была еще попытка сделать так:
$("body").removeClass("slider-" + String(sno-1));
$("body").addClass("slider-" + String(sno));
Так все работает только при скроле вниз. Когда скролим наверх получается хаос.
Подскажите пожалуйста, как реализовать такое? Можно на JS, можно на jquery. Без разницы.
Ну только клик замени на скролл по условиям.
const btn = document.getElementById('btn');
const btnr = document.getElementById('btnr');
btn.addEventListener('click', () => {
document.getElementsByTagName("body")[0].classList.add('class1');
});
btnr.addEventListener('click', () => {
document.getElementsByTagName("body")[0].classList.remove('class1');
});
.class1 {
background-color: red;
}
<p id="btn">add class</p>
<p id="btnr">remove class</p>
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники