@1canada

Как активировать скрипт на нужной секции?

Есть JSскрипт, он должен активироваться только тогда, когда будет на секции #stats, то есть пользователь доскроллит до него. Как это сделать?

$('.stats__digits').each(function (){
        $(this).prop('Counter',0).animate({
          Counter: $(this).text()
        }, {
          duration:4000,
          easing: "swing",
          step:function(now){
            $(this).text(Math.ceil(now));
          }
        });
      });
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
Spartak-2205
@Spartak-2205
Разработка и создание сайтов
Такой информации много, стоит только загуглить
https://snipp.ru/jquery/show-on-scroll - выбирайте подходящий вариант (скорее всего 1 вариант), и применяйте для своих целей.

var block_show = false;
 
function scrollTracking() {
	if (block_show) {
		return false;
	}

	var wt = $(window).scrollTop();
	var wh = $(window).height();
	var et = $('#stats').offset().top;
	var eh = $('#stats').outerHeight();
	var dh = $(document).height();   

	if (wt + wh >= et || wh + wt == dh || eh + et < wh) {
		block_show = true;

		$('.stats__digits').each(function (){
			$(this).prop('Counter',0).animate({
				Counter: $(this).text()
			}, {
				duration:4000,
				easing: "swing",
				step:function(now){
					$(this).text(Math.ceil(now));
				}
			});
		});
	}
}

$(window).scroll(function(){
	scrollTracking();
});
	
$(document).ready(function(){
	scrollTracking();
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы