2

我正在尝试使用 masonry 和 animoscroll.js 复制鼓室演示。唯一的区别是我使用的是带有图像的 div 卡,而不仅仅是图像。

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

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

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

  1. 卡片在滚动时没有动画

  2. 有时,卡片会彼此重叠加载(我猜这意味着 imagesLoaded 无法正常工作)

  3. 我收到:

    '类型错误:无法读取 null imagesloaded.js 的属性'长度''

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

错误似乎出现在 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'为:

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'”?

4

1 回答 1

0

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

试着把它放在结束</body>标签之前。

于 2015-03-03T14:01:56.090 回答