Все сервисы Хабра
Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Закрыть
Задать вопрос
masha_bunny
@masha_bunny
JavaScript
HTML
Как запустить функцию только один раз во вьюпорте?
пробовала так
https://jsfiddle.net/4oy6zjq0/1/
тут всё так. но функция срабатывает всегда
а нужно
ОДИН
раз
когда блок виден во вьюпорте
сейчас когда во вьюпорте скролим, то анимация идет всегда
а нужно один раз
Вопрос задан
более трёх лет назад
126 просмотров
Комментировать
Подписаться
1
Простой
Комментировать
Facebook
Вконтакте
Twitter
Решения вопроса
1
Егор Живагин
@Krasnodar_etc
fundraiseup
Используйте window.removeEventListener('scroll', ...) в тот момент, когда поймали блок во вьюпорте.
Ответ написан
более трёх лет назад
10
комментариев
Нравится
1
10
комментариев
Facebook
Вконтакте
Twitter
masha_bunny
@masha_bunny
Автор вопроса
Егор Живагин
, не работает (31 строка)
https://jsfiddle.net/ob9dpyq3/
Написано
более трёх лет назад
Егор Живагин
@Krasnodar_etc
masha_bunny
, потому что вы подписываете на скролл анонимную функцию, а отписываете от него зачем-то результат вызова функции loading :)
Написано
более трёх лет назад
Егор Живагин
@Krasnodar_etc
masha_bunny
, поправил ваш пример --
ссылка
Написано
более трёх лет назад
Егор Живагин
@Krasnodar_etc
masha_bunny
, именно в таких кейсах видно, что лучше не использовать анонимные функции как слушатели событий.
Написано
более трёх лет назад
masha_bunny
@masha_bunny
Автор вопроса
Егор Живагин
, так вроде функция не один раз запускается
Написано
более трёх лет назад
Егор Живагин
@Krasnodar_etc
masha_bunny
, извиняюсь, не сохранил изменения :)
5 мин
Написано
более трёх лет назад
Егор Живагин
@Krasnodar_etc
masha_bunny
, вот -
сохранил
Написано
более трёх лет назад
masha_bunny
@masha_bunny
Автор вопроса
Егор Живагин
, ага.
но теперь если я после того как посмотрю этот блок ( с цифрами)
а потом посмотрю какой то вверхний блок или нижний
и ВЕРНУСЬ обратно - то не будет работать анимаци
это возможно поправить?
Написано
более трёх лет назад
Егор Живагин
@Krasnodar_etc
masha_bunny
, возможно, я думаю. Но тут я не помогу, у меня нет столько времени
Написано
более трёх лет назад
masha_bunny
@masha_bunny
Автор вопроса
Егор Живагин
, всё ок. спасибо
Написано
более трёх лет назад
Пригласить эксперта
Ответы на вопрос
0
Ваш ответ на вопрос
Войдите, чтобы написать ответ
Войти через центр авторизации
Похожие вопросы
JavaScript
Простой
Как добавить ограничение на перемещение с transform translate?
1 подписчик
2 часа назад
51 просмотр
2
ответа
JavaScript
+1 ещё
Простой
Как сделать, чтобы на сайте картинка при нажатии открывалась в большом размере а при повторном щелчке возвращалась к исходнику? В HTML?
1 подписчик
23 часа назад
155 просмотров
4
ответа
JavaScript
+3 ещё
Простой
Как открыть ссылку из html-файла на диске в той же вкладке браузера?
1 подписчик
вчера
145 просмотров
2
ответа
JavaScript
+3 ещё
Средний
Влияют ли index.ts (barrel pattern) файлы на производительность?
1 подписчик
вчера
65 просмотров
0
ответов
JavaScript
+2 ещё
Средний
Как сделать такой эффект фона на css/js?
2 подписчика
06 июл.
1220 просмотров
0
ответов
HTML
+1 ещё
Простой
Как лучше задать размер элемента, + как сделать треугольник в виде плеера?
1 подписчик
06 июл.
81 просмотр
0
ответов
JavaScript
Простой
Как отображать HTML в виде текста, но и не поломать markdown?
1 подписчик
03 июл.
153 просмотра
1
ответ
JavaScript
+1 ещё
Средний
Как создать плиточное меню WP с различным кеглем, по мере варьирования числа постов в категориях?
1 подписчик
02 июл.
111 просмотров
1
ответ
HTML
+1 ещё
Простой
Как соединить кнопку и форму вместе?
1 подписчик
01 июл.
115 просмотров
1
ответ
JavaScript
+1 ещё
Простой
Как можно получить такой список ссылок?
1 подписчик
01 июл.
211 просмотров
0
ответов
Показать ещё
Загружается…
Вакансии с Хабр Карьеры
Старший Frontend (JavaScript) разработчик
Vital Partners
от 350 000 до 400 000 ₽
Front-End developer (JavaScript, jQuery)
Karma8
от 150 000 до 320 000 ₽
Fullstack разработчик JavaScript, php
Дорстрой-36
•
Воронеж
от 100 000 до 150 000 ₽
Минуточку внимания
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации
Закрыть
Реклама