使用.destroy();使用Waypoint但仅限于一个对象

时间:2015-02-21 06:52:13

标签: javascript jquery jquery-waypoints

我有两个不同的对象,用于触发两个不同的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%",
    });
}

1 个答案:

答案 0 :(得分:1)

您分享的页面似乎不包含您在代码示例中引用的销毁调用,但如果包含它们,您应该看到未捕获的TypeError" undefined不是函数"。原因是:您正在拨打$(this).destroy()而不是this.destroy()destroy是Waypoint实例上的函数。当你试图在jQuery对象上调用它时,$()将返回它,它应该在控制台中炸毁你,因为destroy不是jQuery方法。我在这里错过了什么吗?