Первое отрабатывание при скроле

Рейтинг: 0Ответов: 5Опубликовано: 26.04.2015

Есть следующий код.

$(window).scroll(function(){
var positionEl = $(".top").offset().top;
var positionElBot = $(".bottom").offset().top;
var currentScrollTop = jQuery(window).scrollTop() + window.innerHeight
if (currentScrollTop >= positionEl && currentScrollTop <= positionElBot) {
  $(".dial10").knob();
  $({
    animatedVal: 0
  }).animate({
    animatedVal: 10
  }, {
    duration: 2000,
    easing: "swing",
    step: function() {
      $(".dial10").val(Math.ceil(this.animatedVal)).trigger("change");
    }
  });
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="top">
  <div class=" circle">
    <input type="text" value="10" class="dial10" data-thickness="0.15" data-fgColor="#00BD9D">
    <p>На 10% дешевле заводской цены</p>
  </div>
</div>
<div class="bottom"></div>

Это код по отрисовке круговой диаграммы, причем .knob - это функция из библиотеки для отрисовки диаграммы. В чем суть: диаграмма отрисовывается каждый раз, когда происходит скролл в периоде, который занимает блок top. Надо, чтобы отработал только один раз, а при следующем скролле не отрабатывался. Как этого можно добиться?

Ответы

Ответов пока нет.