Я использую jQuery, чтобы проверить, находится ли элемент на экране. Я выбираю элемент по его классу, так как у меня есть несколько элементов, которые должны делать то же самое, но в разные моменты. Когда один элемент отображается на экране, я меняю его (fadeIn + анимированный слайд вверх).jQuery изменение одного элемента из класса
$(window).scroll(function(){
$(".material-slide-up").each(function(){
if(isScrolledIntoView($(this))) {
$(this).fadeIn(1000);
$(this).addClass("slideInUp animated");
}
});
});
Когда я запускаю текущий код, все элементы с тем же классом изменяются. Я думаю, это потому, что я использую «каждый».
Есть ли способ изменить только один элемент из того же класса, что и на экране?
В качестве предложения добавьте 'else {}' part: '$ (this) .removeClass (" slideInUp animated ");' Ваш код не содержит ошибок, насколько я могу видеть. Если внешняя функция 'isScrolledIntoView ($ (this))' возвращает только видимые элементы, а класс удаляется в противном случае, вы можете выбрать, например. 3-й видимый элемент '$ ('. slideInUp animated'). eq (2)' и делать с ним другие вещи и только с ним. – ddlab