jquery waypoints点火了一次

时间:2013-04-14 17:47:25

标签: javascript jquery jquery-waypoints

使用http://imakewebthings.com/jquery-waypoints快速完成工作 我需要在用户向下滚动到区域类div1时执行某些操作,但只需要执行一次,而不是每次用户滚动到该位置时 - 仅一次

$('.div1').waypoint(function(direction) 
{
    alert(CARRY OUT MY ACTION);
});

这只需要在第一次滚动到该部分时 - 向上或向下。

4 个答案:

答案 0 :(得分:25)

triggerOnce()已替换为destroy()。 只需添加this.destroy()

$('.div1').waypoint(function(direction){
    alert('CARRY OUT MY ACTION')
    this.destroy()
});

有关更多选项,请查看API of Waypoints

答案 1 :(得分:13)

如果将第二个参数传递给waypoint()函数,则可以包含配置选项的对象。将triggerOnce选项设置为true将使插件的行为符合您的喜好。

$('.div1').waypoint(function(direction) 
{
    alert('CARRY OUT MY ACTION');
},  
{ 
    triggerOnce: true 
});

答案 2 :(得分:1)

在新的API中,似乎不再有triggerOnce选项,但在第一次调用后仍然可以使用waypoint.disable()方法

答案 3 :(得分:0)

答案是在处理程序函数的末尾使用this.destroy()。这是一个有效的示例:

$('.div1').waypoint(function(direction){

    handler: function(direction) {

        alert('CARRY OUT MY ACTION');

        this.destroy();

    }

});

另请参阅waypoint.destroy()文档。