Javascript 为什么我的航路点销毁函数调用抛出错误?
我决定在waypoints.js(jQuery版本)上玩一玩,目前为止我已经做到了: 截至目前,销毁航路点已附加以下代码:Javascript 为什么我的航路点销毁函数调用抛出错误?,javascript,jquery,Javascript,Jquery,我决定在waypoints.js(jQuery版本)上玩一玩,目前为止我已经做到了: 截至目前,销毁航路点已附加以下代码: $('.destroy').on('click' , function(){ console.log(ways); ways.destroy(); }); 您将在animation.js文件中看到此代码 当我点击按钮时,我得到以下消息: Uncaught TypeError: ways.destroy i
$('.destroy').on('click' , function(){
console.log(ways);
ways.destroy();
});
您将在animation.js文件中看到此代码
当我点击按钮时,我得到以下消息:
Uncaught TypeError: ways.destroy is not a function
为什么?,我检查了waypoints.js文件,它确实有一个destroy函数,也是waypoints,对destroy函数有一个非常重要的作用,类似于我使用destroy函数的方式
我做错了什么
ways
是一个包含一个航路点对象的数组,因此需要执行以下操作:
ways[0].destroy();
ways
是一个包含一个航路点对象的数组,因此需要执行以下操作:
ways[0].destroy();
包含对象的路径(长度为1)。尝试方法[0]。销毁()
这是选择DOM元素时的常见问题。方法(长度为1)包含对象的。尝试方法[0]。销毁()
选择DOM元素时,这是一个常见问题。因为路径
是一个航路点数组
,
您必须调用ways[0]。destroy()
,因为ways
是一个航路点数组,
您必须调用ways[0]。destroy()
初始化航路点,这样就解决了问题:
ways = new Waypoint({
element : osTrigger,
handler : function(){
osElement.addClass('animated').addClass(osAnimationClass);
this.destroy();
},
offset : '50%'
});
我犯了错误,做了以下几件事:
ways = osTrigger.waypoint(function() {
osElement.addClass('animated').addClass(osAnimationClass);
},{
offset: '50%'
});
是的,仔细查看文档并意识到waypoints.js的新版本有一套不同的方法确实解决了我的问题
请参阅以获取进一步的参考。初始化航路点这样做确实解决了问题:
ways = new Waypoint({
element : osTrigger,
handler : function(){
osElement.addClass('animated').addClass(osAnimationClass);
this.destroy();
},
offset : '50%'
});
我犯了错误,做了以下几件事:
ways = osTrigger.waypoint(function() {
osElement.addClass('animated').addClass(osAnimationClass);
},{
offset: '50%'
});
是的,仔细查看文档并意识到waypoints.js的新版本有一套不同的方法确实解决了我的问题
请参阅以获取进一步的参考。您从log
语句中实际看到了什么?@MattBurland,我得到了一个相当大的对象。您从log
语句中实际看到了什么?@MattBurland,我得到了一个相当大的对象。好的方法[0]不一定是HTML元素,对吗?不一定,但如果您调试代码,然后在日志中打开该数组,您将看到它包含一个航路点对象。ways[0]不一定是HTML元素,对吗?不一定,但如果调试代码,并在日志中打开该数组,您将看到它包含一个航路点对象。