Первое состояние:
Проверьте, есть ли у Каруселя Класс
if $('#yourcaroussellID').hasClass('selected')
Второе состояние
Сравните положение пользователей на странице с положением элементов на странице
isInViewport = function() {
var videoTop = $('#carouselMarketing1').offset().top;
var videoBottom = videoTop + $('#carouselMarketing1').outerHeight();
var viewportTop = $(window).scrollTop();
var viewportBottom = viewportTop + $(window).height();
return videoBottom > viewportTop && videoTop < viewportBottom;
}
Вам нужно будет проверить объединенные ifs с интервалом, чтобы увидеть изменения в прокрутке:
myInterval = setInterval(function(){
if ($('#carousel-selector-4').hasClass('selected') && (isInViewport())) {
yourCounter();
myStopFunction();
}
}, 1000);
Сделайте ваш счетчик функцией, которую вы можете вызвать:
yourCounter = function() {
$('.count').each(function () {
$(this).prop('Counter',0).animate({
Counter: $(this).text()
}, {
duration: 4000,
easing: 'swing',
step: function (now) {
$(this).text(Math.ceil(now));
}
});
});
}
Сделать функцию останова для интервала:
function myStopFunction() {
clearInterval(myInterval );
}