在滚动的多个元素上触发一个函数
Trigger a function on multiple elements on scroll
我正在尝试触发 Odometer.js 卷轴上的多个数字。代码错了,我想我要哭了。2 小时什么也没有:未捕获的类型错误: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 {
}
});
看起来 Odometer.js 需要一个 HTMLElement 而不是 jQuery 对象,为了解决这个问题,您应该在此处从 this
中删除 $()
包装器:
var el = $(this);
var chiffre = el.attr("chiffre-cle");
让它看起来像:
var el = this;
var chiffre = $(el).attr("chiffre-cle");
我正在尝试触发 Odometer.js 卷轴上的多个数字。代码错了,我想我要哭了。2 小时什么也没有:未捕获的类型错误: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 {
}
});
看起来 Odometer.js 需要一个 HTMLElement 而不是 jQuery 对象,为了解决这个问题,您应该在此处从 this
中删除 $()
包装器:
var el = $(this);
var chiffre = el.attr("chiffre-cle");
让它看起来像:
var el = this;
var chiffre = $(el).attr("chiffre-cle");