【问题标题】:waypoints sticky not initializing航点粘滞未初始化
【发布时间】:2016-11-14 19:37:11
【问题描述】:

好的,我确定这是一个简单的问题,但我正在拔头发。

我正在尝试使元素 .subheads_wrapper 粘在我的页面上。

我已将最新的航点文件放在 Inetpub\wwwroot\includes\waypoints-master 下。

我的页面在Inetpub\wwwroot\mypage\index.php

在标题中,我附上了我认为正确的文件:

<script src="../includes/waypoints-master/lib/jquery.waypoints.min.js"></script>
<script src="../includes/waypoints-master/lib/shortcuts/sticky.min.js"></script>

css:

.stuck {
  position:fixed;
  top:0;
}

jquery:

var sticky = new Waypoint.Sticky({
     element: $('.subheads_wrapper')[0]
});

但我不断收到错误:

Waypoint.Sticky 不是构造函数

我做错了什么?

【问题讨论】:

    标签: jquery jquery-waypoints


    【解决方案1】:

    我最终重新编码了我的页面,并且只使用了 jquery waypoint 函数:

    $('#screen2').waypoint(function(direction) {
               if (direction == 'down') {
                $('.freeze_column').css({'position':'fixed'});
                }
              if (direction == 'up') {
                $('.freeze_column').css({'position':'absolute'});
    
              }
          }); 
    

    【讨论】:

      【解决方案2】:

      找不到类构造函数。听起来一个或两个 js 文件没有正确加载。

      当您使用 new 运算符实例化一个类时,它会查找用户定义或内置对象,其构造函数名称跟在关键字 new 后面。

      例子:

      var animal = new dog()
      

      这将查看所有当前加载的狗构造函数脚本,如果没有找到,将返回 not a constructor 错误。由于我们知道航点和粘性的构造函数可以在 js 文件中找到,因此它们没有被加载是理所当然的。仔细检查 jquery.waypoints.min.js 和 sticky.min.js 的路径是否正确。此外,通过您的浏览器控制台验证它们实际上正在加载和/或没有被其他东西禁用。

      【讨论】:

        【解决方案3】:

        您使用的是 jQuery 版本的 Waypoints 吗?如果是这样,你在哪里调用 jQuery?

        下载时包含几个版本的 Waypoints 插件:jQuery、Zepto 和“noframework”。如果你没有使用 jQuery,那么你要确保你调用的是“noframework”文件:

        noframework.waypoints.js
        

        但是,如果您使用的是 jQuery 版本,正如您在问题中所述,我想确保您正在调用 jQuery,如果是,在哪里。这有助于缩小问题范围。

        【讨论】:

        • 这似乎更像是一个评论而不是一个答案。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多