выполнение скрипта только тогда, когда скрипт находится в области просмотра

Как я мог выполнить JavaScript на странице только тогда, когда сам скрипт находится в области просмотра браузера, что означает: представьте, что у меня есть скрипт внизу страницы, и я хотел бы, чтобы этот скрипт загружался только тогда, когда пользователь прокручивает страницу страницу до конца.

Я нашел кое-что, если вы хотите загружать изображения, но не для скриптов:

http://luis-almeida.github.io/unveil/

Любая идея, если это вообще возможно?

ваше здоровье


person Paulo Capelo    schedule 31.03.2015    source источник
comment
Скрипты на самом деле не входят в область просмотра. Используйте что-то в качестве целевого элемента в DOM, следите за его положением, выполняйте, когда это уместно.   -  person JAAulde    schedule 31.03.2015


Ответы (1)


Вы можете запускать сценарии на основе видимости элементов HTML/DOM, поскольку сценарии фактически не попадают в область просмотра устройства. Вы можете сделать что-то вроде:

<script type="text/javascript">
if($("element").scrollTop() == 0) { // or some other value, I am taking 0 which means when the element has 0px distance and is currently visible

// Do some action here

}
</script>
person Zafar Ahmad    schedule 31.03.2015
comment
что ты имеешь в виду? чтобы добавить мой скрипт в DIV и сослаться на div: if($(div:mydiv).scrollTop() == 0) { // Выполните здесь какое-нибудь действие } ‹/script› - person Paulo Capelo; 31.03.2015
comment
Нет, на самом деле я имею в виду, что вы можете запускать скрипт всякий раз, когда на экране отображается какой-либо элемент HTML. Когда пользователь прокручивает до определенной части веб-страницы, вы можете запускать свои скрипты, используя приведенный выше код. Приведенный выше код означает, что при достижении $(элемента) на странице во время прокрутки. Также я хотел бы сказать вам, что вы не можете лениво загружать скрипты, такие как изображения, но все же вы можете откладывать их, используя атрибут defer в тегах script. Если вы напишете теги сценария в разделе нижнего колонтитула, он будет загружен, когда ваш код нижнего колонтитула будет проанализирован веб-браузером. - person Zafar Ahmad; 31.03.2015
comment
Привет, Зафар, я пробовал это, но это не сработает. :( Я тестирую с помощью простого предупреждения: предупреждение(Привет! Я окно предупреждения!!); безуспешно. Вот почему я спрашивал, должен ли я изменить элемент. Я также загружаю: code.jquery.com/jquery-1.10.2.js - person Paulo Capelo; 31.03.2015