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