Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery砌体布局完成事件不工作_Javascript_Jquery_Jquery Masonry_Masonry - Fatal编程技术网

Javascript jQuery砌体布局完成事件不工作

Javascript jQuery砌体布局完成事件不工作,javascript,jquery,jquery-masonry,masonry,Javascript,Jquery,Jquery Masonry,Masonry,我完全按照文档进行了操作,布局完成事件不起作用。示例如下所示: $(文档).ready(函数(){ var$container=$(“#项”); $container.com({ itemSelector:“.item”, 列宽:220, 排水沟:20 }); $container.mashise('on','layoutComplete',函数(msnryInstance,laidOutItems){ 警报(“”); }); }); 有人知道这是一个已知的bug还是我做错了什么吗?你可以试

我完全按照文档进行了操作,布局完成事件不起作用。示例如下所示:

$(文档).ready(函数(){
var$container=$(“#项”);
$container.com({
itemSelector:“.item”,
列宽:220,
排水沟:20
});
$container.mashise('on','layoutComplete',函数(msnryInstance,laidOutItems){
警报(“”);
});
});
有人知道这是一个已知的bug还是我做错了什么吗?

你可以试试看

var msnry = new Masonry( $container, {
     itemSelector: '.item',
        columnWidth: 220,
        gutter: 20
  });
然后使用:

msnry.on( 'layoutComplete', function( msnryInstance, laidOutItems ) {
    //custom code
  });
并触发布局以调用layoutComplete回调

msnry.layout();

看看

啊,我用非jquery方法对它进行了排序。初始化后必须调用以下函数才能触发事件:

msnry.layout();
e、 g


以下是在jQuery中执行此操作的代码:

var $grid = $('.grid').masonry({
    // disable initial layout
    isInitLayout: false,
    //...
});
// bind event
$grid.masonry( 'on', 'layoutComplete', function() {
    console.log('layout is complete');
});
// manually trigger initial layout
$grid.masonry();

这是本页底部的内容:

您只需在调用
massy()

您甚至可以制作一条链:

$('#items').on('layoutComplete', function() {
  console.log('complete');
})
.masonry({
  itemSelector: '.item',
  columnWidth: 220,
  gutter: 20
});

是的,我试过看这个JSFIDLE:还是不起作用though@geoffs3310,使用msnry.layout();触发布局完成
var $grid = $('.grid').masonry({
    // disable initial layout
    isInitLayout: false,
    //...
});
// bind event
$grid.masonry( 'on', 'layoutComplete', function() {
    console.log('layout is complete');
});
// manually trigger initial layout
$grid.masonry();
var $container = $('#items');
$container.on('layoutComplete', function() {
  console.log('complete');
});
$container.masonry({
  itemSelector: '.item',
  columnWidth: 220,
  gutter: 20
});
$('#items').on('layoutComplete', function() {
  console.log('complete');
})
.masonry({
  itemSelector: '.item',
  columnWidth: 220,
  gutter: 20
});