jquery - 在滚动条上运行 jQuery 数字计数器

标签 jquery html css

我有一个 jQuery 数字计数器,效果很好,但它会在页面加载后立即运行。我想做的是弄清楚当元素出现时如何让它运行?这是我当前的标记

编辑

使用航路点获得了预期的效果。更新了下面的 jQuery

   $('#counter').waypoint(function (direction) {
    $('.count').each(function () {
      var $this = $(this);
      jQuery({
        Counter: 0
      }).animate({
        Counter: $this.text()
      }, {
        duration: 2000,
        easing: 'swing',
        step: function () {
          $this.text(Math.ceil(this.Counter));
        }
      });
    });
  }, {
    offset: '80%'
  });
 #counter {
      position: relative;
      color: #fff;
      margin-top: 600px;
    }
    
    .counters {
      padding: 100px 0;
      width: 33.333%;
      float: left;
    }
    
    #counter-1 {
      background: #393939;
    }
    
    #counter-2 {
      background: #494949;
    }
    
    #counter-3 {
      background: #595959;
    }
    
    .line-numbers {
      text-align: center;
      display: block;
      font-size: 55px;
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section id="counter">
        <div id="counter-1" class="counters">
          <span class="line-numbers count">2000</span>
        </div>
        <div id="counter-2" class="counters">
          <span class="line-numbers count">2500</span>
        </div>
        <div id="counter-3" class="counters">
          <span class="line-numbers count">150</span>
        </div>
      </section>

最佳答案

你可以使用这个函数

function isScrolledIntoView(elem)
{
    var docViewTop = $(window).scrollTop();
    var docViewBottom = docViewTop + $(window).height();

    var elemTop = $(elem).offset().top;
    var elemBottom = elemTop + $(elem).height();

    return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}

this answer 所示

关于jquery - 在滚动条上运行 jQuery 数字计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43872277/

相关文章:

html - 创建类别列表时,使主要类别始终位于列的顶部

javascript - 使用箭头键浏览网站

javascript - 当页面加载时,该元素被完全覆盖。应该是部分

javascript - 客户端图像分辨率/尺寸验证

jquery - 自动完成 : How can I change the result list with only elements that start with input-word?

javascript - jquery tablesorter 不适用于输入/选择字段 (IE8),适用于 IE8 中的所有其他文本字段

jquery - 使用 jQuery 获取 "img"id

JavaScript 正则表达式否定完全匹配的字符串

javascript - HTML 表单 onSubmit 属性与 location.href 存在问题

jquery - Bootstrap CSS 过渡不起作用