未捕获的TypeError:无法读取属性' LayoutMode'未定义的

时间:2014-05-20 11:59:33

标签: jquery html layout jquery-isotope

我正在使用Isotope.js制作我的项目,我必须以水平方式显示我的瓷砖, 所以我正在关注代码

var winDow = $(window);
    // Needed variables
    var $container=$('.portfolio-box, .blog-box');
    var $filter=$('.filter');

    try{
        $container.imagesLoaded( function(){
            $container.show();
            $container.isotope({
                layoutMode: 'masonryHorizontal',
                masonryHorizontal: {
                    rowHeight: 50
                },

            });
        });
    } catch(err) {
    }

但不幸的是它不起作用,控制台上的错误是

1.    Uncaught TypeError: Cannot read property 'LayoutMode' of undefined
2.    Uncaught TypeError: undefined is not a function

必须提供帮助

2 个答案:

答案 0 :(得分:5)

您未在网页上添加同位素插件。

您需要同时包含isotope.pkgd.min.jsmasonry-horizontal.js


这是从您的网站抓取的。如果你取消注释该行,你应该是好的。

<!--<script type="text/javascript" src="js/jquery.isotope.min.js"></script>-->

答案 1 :(得分:2)

我遇到了同样的问题并找到了一些东西。 jquery-isotope永远不会设置window.Isotope.LayoutMode。这就是它未定义的原因。 如果您不使用jquery而只使用常规jquery,则不应该出现此问题。

我通过在 layout-mode.js之后加上jquery.isotope.js,在masonry-horizontal.js 之前 来修复它