2

我正在尝试使用Waypoints做一个非常简单的滚动效果,但由于某种原因,我根本无法让 Waypoints 工作。

jQuery (1.7.1) 已正确加载,并在 Waypoints 之前加载。页面上还有其他 jQuery 函数,它们都可以正常工作;例如:

$(document).ready(function() {
  $(".form label").addClass("column");
}

在 jQuery 之后,航点(waypoints.min.js1.1.6 版)也正确加载。

但无论我做什么,除了 Firefox 之外,我似乎无法在 Waypoints 中得到任何反应。

如果我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:“未定义”不是函数(评估
'$('.wrapper').waypoint(function() { alert('You have scrolled to an entry.'); })'

– 我不确定为什么undefined现在突然不是一个函数(或者为什么这个函数现在突然被“设置”为undefined,以更正确的方式看待它)......</p>

在任何情况下,我都不擅长使用 jQuery 或 JavaScript,所以我真的不知道在哪里寻找可能与它发生冲突的东西,或者它为什么对我这样做。

帮助?

4

2 回答 2

4

事实证明,无论出于何种原因,我在某个时候添加了第二个 jQuery 导入,这次是直接从 Google 的服务器导入的,并将第二个调用放在一个不同的文件中,该文件多年来一直不为人知。

一旦我摆脱了这一点,Waypoints 就会按预期工作(或多或少)。

于 2012-04-01T13:19:39.257 回答
1

我是这条开发路线的新手,我注意到我在使用 Jquery 插件时做错的一件事是我将脚本放在 head 标记中的顺序。盎司我首先放置我的 Jquery 脚本,然后我在 Google Chrome 控制台中的未定义错误消失了。

于 2015-01-23T19:57:14.407 回答