在滚动上触发多个元素上的函数

时间:2015-07-23 16:21:51

标签: jquery scroll

我试图在滚动上的几个数字上触发Odometer.js。代码是错误的,我想我会哭... 2小时而没有:未捕获TypeError:this.el.appendChild不是函数...

请帮忙。感谢。

HTML:

  <h2 class="odometre" chiffre-cle="2000">0</h2>
  <h2 class="odometre" chiffre-cle="2000">0</h2>
  <h2 class="odometre" chiffre-cle="2000">0</h2>

的javascript:

var y = $(window).height(); 
var coord = y / 2;

$(window).scroll(function(){
    if($(window).scrollTop() > coord){
        $(".odometre").each(function(){
            var el = $(this);
            var chiffre = el.attr("chiffre-cle");
            od = new Odometer({
                el: el,
                value: 0,
                format: 'd',
                animation: 'ease',
                duration: 400
            });
            od.update(chiffre);
        })
    }
    else {
    }
});

1 个答案:

答案 0 :(得分:1)

看起来像Odometer.js需要HTMLElement而不是jQuery对象,为了解决这个问题,你应该从$()移除你的this包装器:

var el = $(this);
var chiffre = el.attr("chiffre-cle");

使它看起来像:

var el = this;
var chiffre = $(el).attr("chiffre-cle");