使用瀑布流砖块masonry出现错误cannot call methods on masonry prior to initialization; attempted to call method reload 解决方法

使用瀑布流砖块masonry出现错误cannot call methods on masonry prior to initialization; attempted to call method reload 解决方法

浏览次数:
作者: 墨鱼
信息来源: 本站原创
更新日期: 2020-02-04 01:24:22
文章简介

瀑布流砖块masonry出现错误,提示未初始化前无法调用方法。尝试调用reload方法时出错。解决方法:请确保在调用masonry方法前正确初始化,并检查是否有冲突或错误的脚本引用。

  • 正文开始
  • 相关阅读
  • 推荐作品

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

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

代码如下图:

使用瀑布流砖块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像素
        });
    });
})

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

js代码实现某字段还剩几天过期的效果,帝国CMS模板可用!
« 上一篇 2020年01月02日
竖向长方形图片横向正方形列表排列并取图片中间不变形的CSS方法
下一篇 » 2020年05月24日

如本文对您有帮助,就请墨鱼抽根烟吧!