Задать вопрос
@millwright

Как менять CSS элементов через jQery по очереди?

Есть множество элементов, которые анимируются через CSS свойства при скролле.
Пытаюсь запретить одновременно анимировать больше одного элемента. Добавил переменную, которая меняет значение, когда анимация заканчивается (setTimeout = transition), и условие, но проблема в том, что функция вызывается каждый раз, когда происходит скролл. Выглядит это примерно так:
var scrolling = false;
if ($(window).scrollTop() > $(element).offset().top) {
  if (!scrolling) {
    scrolling = true;
    //CSS меняется
    setTimeout(function(){
      scrolling = false;
    }, 1000);
}

Есть ли способ выполнить функцию, привязанную к скроллу, только один раз, когда значение скролла превышает определённую величину, или другие способы менять CSS по очереди?
  • Вопрос задан
  • 248 просмотров
Подписаться 1 Оценить 7 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • Skypro
    JavaScript-разработчик с нуля
    9 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы