我有两个不同的对象,用于触发两个不同的Waypoints事件,然后触发Velocity.js(淡入/淡出库)。
第一个偶数(secondary
上的那个)应该永远,上下都会发射。然而,第二个,.process
只应该触发一次,然后再重新加载页面。
当我在第二个函数中插入.destroy();
时,它会关闭整个页面的所有航点事件。知道为什么吗?
参考页面:http://www.goodcorps.com/
if (document.documentElement.clientWidth > 990) {
$('.secondary').waypoint(function(direction) {
$('.intro').toggleClass('hidden');
}, {
offset: "0%",
});
$('.home .process').waypoint(function(direction) {
$('.illus.crosses svg g').velocity("transition.fadeIn", {
stagger: 50,
duration: 100,
});
$(this).destroy(); // here's my attempted location
}, {
offset: "20%",
});
} else {
$('.home .process').waypoint(function(direction) {
$('.illus.crosses svg g').velocity("transition.fadeIn", {
stagger: 50,
duration: 100,
});
$(this).destroy(); // here's my attempted location
}, {
offset: "50%",
});
}
答案 0 :(得分:1)
您分享的页面似乎不包含您在代码示例中引用的销毁调用,但如果包含它们,您应该看到未捕获的TypeError" undefined不是函数"。原因是:您正在拨打$(this).destroy()
而不是this.destroy()
。 destroy
是Waypoint实例上的函数。当你试图在jQuery对象上调用它时,$()
将返回它,它应该在控制台中炸毁你,因为destroy不是jQuery方法。我在这里错过了什么吗?