Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery航路点触发一次_Javascript_Jquery_Jquery Waypoints - Fatal编程技术网

Javascript jQuery航路点触发一次

Javascript jQuery航路点触发一次,javascript,jquery,jquery-waypoints,Javascript,Jquery,Jquery Waypoints,我正在使用和 当用户向下滚动到具有类div1的区域时,我需要执行一些操作。但是,我需要它只触发一次,而不是每次用户滚动到该位置时仅一次 $('.div1').waypoint(function(direction) { alert(CARRY OUT MY ACTION); }); 这只需要在第一次滚动到该部分时发生-向上或向下。如果将第二个参数传递给航路点()函数,则可以包含一个配置选项对象。将triggerOnce选项设置为true将使插件按照您希望的方式运行 $('.div1'

我正在使用和 当用户向下滚动到具有类
div1
的区域时,我需要执行一些操作。但是,我需要它只触发一次,而不是每次用户滚动到该位置时仅一次

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

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

如果将第二个参数传递给
航路点()
函数,则可以包含一个配置选项对象。将
triggerOnce
选项设置为true将使插件按照您希望的方式运行

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

在新的API中,似乎不再有triggerOnce选项,但在第一次调用后,仍然可以使用
航路点.disable()
方法
triggerOnce()
替换为
destroy()
。 只需添加
this.destroy()


有关更多选项,请检查。

答案是在处理程序函数末尾使用
this.destroy()
。下面是一个可行的示例:

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

    handler: function(direction) {

        alert('CARRY OUT MY ACTION');

        this.destroy();

    }

});

另请参见文档

请注意,航路点API在版本3.0中已更改。是否有办法销毁处理程序中特定元素中的所有航路点?
$('.div1').waypoint(function(direction){

    handler: function(direction) {

        alert('CARRY OUT MY ACTION');

        this.destroy();

    }

});