X
  • Дизайн та розробка сайту
  • Дизайн і створення сайтів. Розробка тем для WordPress. Створення Landing Page.
  • office@gnatkovsky.com.ua
  • @vgnat
  • Написати мені
Замовити послугу

Выполнение скрипта при прокрутке до нужного места

Приклад
  • 2024-11-21
  • 11142 переглядів

  • Дизайн та розробка сайту

Доброго времени суток. 🙂

Эта статья будет о том, как выполнять какой-то скрипт не сразу после загрузки страницы, а при прокрутке до определенного места. Такой функционал пригодится тем, кто занимается версткой, особенно актуально при верстке лендингов.

Выполнение скрипта при прокрутке до нужного места

Идея заключается в том, чтобы отложить запуск выполнения скрипта. Например, вы добавили на страницу какие-то анимированные диаграммы, видео, анимацию, блок и тд. Дальше, вы хотите, чтобы эта штуковина, показалась именно в тот момент, когда посетитель страницы, долистает до того места, где можно его увидеть. Например, вы захотите, чтобы посетитель увидел анимацию появления, а не просто видимый блок.

Ниже можно посмотреть пример, где при прокрутке до определенного абзаца появится окошко и сам абзац поменяет фон и цвет шрифта.



Пример


Скачать

Делается такая задержка выполнения скрипта с помощью плагинаjQuery Viewport Checker. Для его работы понадобится, так же, подключить библиотеку jQuery. Думаю объяснять что это и с чем его едят не нужно. Ну, а вдруг нужно, то статья - Как и где подключить скрипт? вам в помощь. Сама библиотека, если не подключена ранее на вашем сайте.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

Далее подключаем сам плагин Viewport Checker. Его можно скачать по ссылке в начале статьи. Далее заливаете его себе на сайт и подключаете указав правильный путь к нему

<script src="js/viewportChecker.js"></script>

Дальше прописываем запуск нашего плагина и параметры при которых будет выполнятся запуск. Попросту добавляем вот такой код.

jQuery(function($){
$("#viewport").viewportChecker({
callbackFunction:function(){
//ТУТ скрипт или настройка
}
});
});

Добавляете код или в подвале в java тегах, или добавляете в отдельный файл, подробнее об этом в ссылке выше в статье как подключать скрипты. Ну а теперь по подробнее о коде.

Во второй строке указываем айди блока, до которого выполнение вашего скрипта, показ блока и тд. не будет выполнятся. В нашем случаи это #viewport. Дальше, там где строка - //ТУТ скрипт или настройка, вы должны прописать то что вам нужно. Например в примере выше, я просто прописал появление окошка, которое скрыто. Написал вот такую строку.

$("#vc_pop").show();

Просто беру блок с айди vc_pop и показываю его. ранее в стилях этому блоку я прописал display:none;

Так же, я сделал добавление класса для блока с айди viewport. Этот класс имеет определенные стили, и при прокрутке, один обычный абзац в видимой части экрана станет с красным фоном, например.

$("#viewport").addClass('red');

Как видите, добавили класс red. Ему в стилях присваиваются стили и тд. В итоге у меня был готовый код таким:

jQuery(function($){
$("#vc_pop").hide();
$("#viewport").viewportChecker({
callbackFunction:function(){
$("#vc_pop").show();
$("#viewport").addClass('red');
}
});
});

Вы можете указывать свои параметры или свои скрипты, соблюдая правила синтаксиса. По этому принципу действует и анимация при прокрутке страницы, о которой писал в статье - Анимация элементов страницы при прокрутке.

Лично я, часто пользуюсь данным методом, как и писал в начале, в основном при верстке лендингов. Данная статья будет полезной для тех, кто не первый день имеет дело с версткой.

На этом все, спасибо за внимание. 🙂

Якщо Вам була корисна моя праця, можете фінансово підтримати сайт або відключити блокувальник реклами, що займе 2 хвилини :)

Хочу підтримати фінансово Хочу відключити блокувальник

Оцініть статтю
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 8, в среднем: 5 из 5
Читайте також

Deprecated: Функція WP_Query викликана з аргументом, який вважається застарілим з версії 3.1.0! Вираз caller_get_posts застарілий. Використовуйте ignore_sticky_posts. in /var/www/vhosts/gnatkovsky.com.ua/gnatkovsky.com.ua/public/wp-includes/functions.php on line 6078