首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >砌体与imagesLoaded误差

砌体与imagesLoaded误差
EN

Stack Overflow用户
提问于 2015-05-18 10:09:22
回答 2查看 1.8K关注 0票数 1

我将砖石与imagesLoaded结合在一起,如下所示:

代码语言:javascript
复制
var container = document.querySelector('.masonry-container');
var msnry;
    // initialize Masonry after all images have loaded
    imagesLoaded( container, function() {
        var msnry = new Masonry( container, {
            itemSelector: '.masonry-item'
        }).resize();
});

但是得到错误:Uncaught TypeError: Cannot read property 'length' of null

我做错什么了。

编辑

我接到两个砖石电话,可能会引起问题,另一个是一样的,一个接一个:

代码语言:javascript
复制
var container = document.querySelector('.gallery');
var msnry;
    // initialize Masonry after all images have loaded
    imagesLoaded( container, function() {
        var msnry = new Masonry( container, {
            itemSelector: '.gallery-item'
        }).resize();
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-19 22:40:38

发现问题了。在砖石调用中,我有两次var container,它只是相互覆盖。例如。在特定的页面中,我使用了类.gallery而不是.masonry-container的div,并且var container被不存在的.masonry-container覆盖,所以它返回null。解决办法是:

代码语言:javascript
复制
var $container = $('.masonry-container');
    $container.imagesLoaded(function(){
    $container.masonry({
        itemSelector : '.masonry-item'
    });
});

var $container2 = $('.gallery');
    $container2.imagesLoaded(function(){
    $container2.masonry({
        itemSelector : '.gallery-item'
    });
});

如图所示:在同一地点多次使用jQuery砌体

票数 0
EN

Stack Overflow用户

发布于 2015-05-19 16:13:58

您的“小提琴”中有多个错误,我认为这些错误也在您的页面中。首先,id是唯一的,您不能有多个同名的id (id="galery-item")。你在".gallery“上调用砖石,但是你只有id=”图片库“,没有class=”图片库“,最后你设置了你的itemSelector:‘.图片库-项目’,但是即使你把数字设置为一个类,你也有一个叫做galery-item的。

下面是一个具有正确类和id设置的工作小提琴

联署材料:

代码语言:javascript
复制
var container = document.querySelector('.gallery');
var msnry;
// initialize Masonry after all images have loaded
imagesLoaded( container, function() {
    var msnry = new Masonry( container, {
        itemSelector: '.galery-item'
    });
});

工作html:

代码语言:javascript
复制
<div id="gallery" class="gallery">
<figure class="galery-item">
    <figcaption>
        <img src="http://placehold.it/150x150">
    </figcaption>
</figure>
<figure class="galery-item">
    <figcaption>
        <img src="http://placehold.it/150x150">
    </figcaption>
</figure>
<figure class="galery-item">
    <figcaption>
        <img src="http://placehold.it/150x150">
    </figcaption>
</figure>
<figure class="galery-item">
    <figcaption>
        <img src="http://placehold.it/150x150">
    </figcaption>
</figure>
<figure class="galery-item">
    <figcaption>
        <img src="http://placehold.it/150x150">
    </figcaption>
</figure>   
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30300392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档