我正在尝试使用Waypoints来做一个非常简单的滚动效果,但由于某些原因,我根本无法让Waypoints完全正常工作。
jQuery(1.7.1)已正确加载,并在Waypoints之前加载。页面上还有其他jQuery函数,它们都可以正常工作;例如:
$(document).ready(function() {
$(".form label").addClass("column");
}
在jQuery之后,也正确加载了Waypoints(waypoints.min.js
,版本1.1.6)。
但无论我做什么,我似乎都无法在Waypoints中获得任何以对除Firefox之外的任何事情做出反应。
如果我直接在元素上调用waypoint()
,而不检查document
是否完成加载,那么我没有得到任何错误,但没有反应:
$('.wrapper').waypoint(function() {
alert('You have scrolled to an entry.');
});
- 没有提供控制台错误或警告,但也没有提醒任何事情(正如我不希望的那样,因为脚本是在创建.wrapper
div之前放置的。)
如果我等待document
完成,就像这样:
$(document).ready(function() {
$('.wrapper').waypoint(function() {
alert('You have scrolled to an entry.');
});
});
- 然后它似乎适用于Firefox,但不适用于Chrome,Opera或Safari。 Safari的网络控制台告诉我
TypeError:'undefined'不是函数(评估
'$('.wrapper').waypoint(function() { alert('You have scrolled to an entry.'); })'
)
- 而且我不确定为什么undefined
现在突然变成了一个函数(或者为什么函数现在突然'设置'为undefined
,这是一种更正确的查看方式它)...
我在任何情况下都不习惯使用jQuery或JavaScript,所以我真的不知道在哪里寻找可能与之相冲突的东西,或者为什么它会对我这样做。
帮助?
答案 0 :(得分:4)
事实证明,无论出于何种原因,我在某个时候添加了jQuery的第二次导入,这次直接来自Google的服务器,并将第二次调用放在一个不同的文件中,在那里它已经看不见多年了。
一旦我摆脱了这一点,Waypoints(或多或少)按预期工作。
答案 1 :(得分:1)
我是这个开发路径的新手,我注意到我对Jquery插件做错了的一件事就是我在head标签中输入脚本的顺序。我首先把我的Jquery脚本放在谷歌Chrome控制台中我未定义的错误消失了。