WY 关于WY

28岁,地球人,专注用户体验设计与前端开发。爱读书爱运动爱设计...[更多]

扫描用手机阅读此文
支持Android/iPhone

您的位置:首页 > 记录 > 前端记录

使用瀑布流砖块masonry出现错误cannot call methods on masonry prior to

文/ WY 2016-07-01 17:18:51 128阅读

今天给一个页面写瀑布流砖块效果的时候使用了masonry,调试以外出现了如下错误:

cannot call methods on masonry prior to initialization; attempted to call method 'reload'

代码如下图:

查找资料发现是需要在使用的时候,初始化一次函数!这就好办了,改后的代码为:

$(document).ready(function(){
//瀑布流代码
    var $container = $('.list');

    $(".lazy").scrollLoading({
         callback: function() {
            $container.imagesLoaded(function(){
                $container.masonry().masonry('reload');
            });
        }
    });

    $container.imagesLoaded(function(){
        $container.masonry({
            itemSelector: '.masonry',
            columnWidth: 0 //每两列之间的间隙为5像素
        });
    });
})

红色代码为改动部分, 完美解决!