使用http://imakewebthings.com/jquery-waypoints快速完成工作 我需要在用户向下滚动到区域类div1时执行某些操作,但只需要执行一次,而不是每次用户滚动到该位置时 - 仅一次
$('.div1').waypoint(function(direction)
{
alert(CARRY OUT MY ACTION);
});
这只需要在第一次滚动到该部分时 - 向上或向下。
答案 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()文档。