@Dastem
Программист

Не срабатывает скрипт, где ошибка?

Всем привет.
Есть скрипт:

var target = $('.circle');
var targetPos = target.offset().top;
var winHeight = $(window).height();
var scrollToElem = targetPos - winHeight;
$(window).scroll(function(){
  var winScrollTop = $(this).scrollTop();
  if(winScrollTop > scrollToElem){
      $('.circle').circleProgress({
    value: 1,
    size: 100,
    fill: {
      gradient: [
        ['#b5b5b5', .5],
        ['#D3D3D3', .5]
      ],
      gradientAngle: Math.PI / 4
    }
  }).on('circle-animation-progress', function(event, progress) {
    $(this).find('strong').html(Math.round(parseInt(this.dataset.progress, 10) * progress));
  });
  }
});


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

$('.circle').circleProgress({
    value: 1,
    size: 100,
    fill: {
      gradient: [
        ['#b5b5b5', .5],
        ['#D3D3D3', .5]
      ],
      gradientAngle: Math.PI / 4
    }
  }).on('circle-animation-progress', function(event, progress) {
    $(this).find('strong').html(Math.round(parseInt(this.dataset.progress, 10) * progress));
  });


Задача:
Сделать проигрывание анимации когда блок попадает в зону видимости человека.

Использую эту библиотеку:
kottenator.github.io/jquery-circle-progress
https://github.com/kottenator/jquery-circle-progress

Как быть?
  • Вопрос задан
  • 222 просмотра
Пригласить эксперта
Ответы на вопрос 1
ShadowOfCasper
@ShadowOfCasper
Middle User Interface Web Developer
Потому что условие, очевидно, не выполняется. Я думаю тебе scrollBottom нужен. Это как scrollTop, только врибавь высоту окна $(window).outerHeight()
Ответ написан
Ваш ответ на вопрос

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

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