【问题标题】:Waypoints always giving "undefined is not a function/object" errors航点总是给出“未定义不是函数/对象”错误
【发布时间】:2015-01-24 03:59:46
【问题描述】:

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

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

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

Waypoints(waypoints.min.js,版本 1.1.6)也正确加载,在 jQuery 之后。

但无论我做什么,我似乎都无法让 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,所以我真的不知道去哪里寻找可能与它发生冲突的东西,或者它为什么对我这样做。

帮助?

【问题讨论】:

    标签: jquery function document undefined jquery-waypoints


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您节省了许多小时。 Jquery 中可能有奇怪的行为,只想让它失望
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-24
      • 1970-01-01
      • 2014-08-03
      • 2015-08-12
      • 1970-01-01
      • 2015-09-07
      相关资源
      最近更新 更多