我正在使用http://imakewebthings.com/jquery-waypoints,当用户向下滚动到带有类的区域时,我需要执行一些操作div1
。但是,我只需要它触发一次,而不是每次用户滚动到该位置时。——只有一次
$('.div1').waypoint(function(direction)
{
alert(CARRY OUT MY ACTION);
});
这只需要在第一次滚动到该部分时发生——向上或向下。
我正在使用http://imakewebthings.com/jquery-waypoints,当用户向下滚动到带有类的区域时,我需要执行一些操作div1
。但是,我只需要它触发一次,而不是每次用户滚动到该位置时。——只有一次
$('.div1').waypoint(function(direction)
{
alert(CARRY OUT MY ACTION);
});
这只需要在第一次滚动到该部分时发生——向上或向下。
triggerOnce()
替换为destroy()
。只需添加this.destroy()
.
$('.div1').waypoint(function(direction){
alert('CARRY OUT MY ACTION')
this.destroy()
});
有关更多选项,请查看Waypoints 的 API。
如果将第二个参数传递给waypoint()
函数,则可以包含配置选项对象。将该triggerOnce
选项设置为 true 将使插件按照您想要的方式运行。
$('.div1').waypoint(function(direction)
{
alert('CARRY OUT MY ACTION');
},
{
triggerOnce: true
});
在新的 API 中,似乎没有 triggerOnce 选项了,但仍然可以使用waypoint.disable()
第一次调用后的方法
答案是this.destroy()
在处理函数的末尾使用。这是一个可行的示例:
$('.div1').waypoint(function(direction){
handler: function(direction) {
alert('CARRY OUT MY ACTION');
this.destroy();
}
});
另请参阅waypoint.destroy()文档。