繁体   English   中英

为什么我在使用砌体时在imagesLoaded.js中得到“无法读取null的'长度'属性'”

[英]Why am I getting “cannot read property 'length' of null” in my imagesLoaded.js while using masonry

我正在尝试使用砌体和animonscroll.js复制鼓膜演示。 唯一的区别是我使用的div卡中包含图像,而不仅仅是图像。

这是工作中的鼓膜演示http://jsfiddle.net/Sfmv9/19/light/

这是我的代码: http : //codepen.io/anon/pen/CotJv

无论出于何种原因,这在Codepen中都有效,但是我在本地计算机上遇到以下问题。

  1. 卡片没有滚动动画

  2. 偶尔,这些卡会一次又一次地加载(我猜这意味着imagesLoaded不能做到这一点)

  3. 我收到:

    'TypeError:无法读取null imagesloaded.js的属性'length'

这是我在过去两个月中发布的有关此问题的第三个问题,但仍然无法弄清为什么我会收到此错误以及如何解决它。 我将再次发布此信息(包含更多具体信息),以查看是否有人可以提供帮助。

错误似乎出在imagesloaded.js中的此函数中

// turn element or nodeList into an array
function makeArray( obj ) {
  var ary = [];
  if ( isArray( obj ) ) {
    // use object if already an array
    ary = obj;
  } else if ( typeof obj.length === 'number' ) {
    // convert nodeList to array
    for ( var i=0, len = obj.length; i < len; i++ ) {
      ary.push( obj[i] );
    }
  } else {
    // array of single index
    ary.push( obj );
  }
  return ary;
}

根据上obj.length == 'number'文章中某人的建议,我尝试将obj.length == 'number'更改为:

if ( obj && typeof obj.length === 'number' )

我还尝试了在许多其他尝试的解决方案中将我的容器类更改为AnimOnScroll.js中的容器ID,但错误仍然存​​在。 因为我对js不太满意,所以我无法跟踪AnimOnScroll,ImagesLoaded和Masonry彼此之间如何连接,所以我不知道问题出在实际上是ImagesLoaded.js还是AnimOnScroll.js。

最让我感到困惑的是为什么这在Codepen中有效但在我的本地计算机上无效。

如果有帮助,这里是我以前的问题的链接。

为什么我的div没有滚动动画?

https://stackoverflow.com/questions/26721098/what-c​​ould-cause-animonscroll-js-to-work-on-codepen-but-not-on-my-local-machine

为什么在此js代码中出现“无法读取null的属性'length'的信息”?

您是否有机会在<head>调用脚本?

尝试将其放在结束</body>标记之前。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM