首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当元素在窗口时如何触发jQuery计数器?

当元素在窗口时如何触发jQuery计数器?
EN

Stack Overflow用户
提问于 2016-09-09 04:24:10
回答 1查看 833关注 0票数 1

我有一个从0到1750之间触发计数器的jQuery代码。但是,这个计数器在我的页面底部,如果你没有足够快地滚动到它,你就错过了计数器动画。是否有一种方法只在您命中窗口中的元素时才触发此操作?

代码语言:javascript
复制
// Counter
$(document).ready(function() {
    $('.count').each(function() {
        $(this).prop('Counter', 0).animate({
            Counter: $(this).text()
        }, {
            duration: 12000,
            easing: 'swing',
            step: function(now) {
                $(this).text(Math.ceil(now));
            }
        });
    });
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-09 04:39:21

尝试这样的方法,检查您的窗口顶部位置,如果您的目标元素较高或相等,而窗口高度较低,则执行计数动画。

代码语言:javascript
复制
<div class="wrapper-count">
  <ul>
    <li class="count">0</li>
    <li class="count">0</li>
    <li class="count">0</li>
  </ul>
</div>

JS

代码语言:javascript
复制
$(document).ready(function(){
  $(function(){
    $(window).on("scroll", function(){
      var win_height = $(this).height();
      var win_pos    = $(this).scrollTop();
      var top_pos    = $(".wrapper-count").position().top;

      if(win_pos >= top_pos - win_height){
        // here goes your count logic
      }
    });
  });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39403840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档