Jquery:带有jquery元素的masonry('hide',element)方法

时间:2013-06-16 07:24:27

标签: jquery jquery-masonry

所以,我正在使用Masonry在我的网站上制作一个“流畅”的布局,但现在我遇到了一个涉及隐藏和显示方法的问题。

在某事件中,我正在打这个电话:

$container.masonry('hide', $(this));

如您所见,我正在使用$(this)告诉砌体通过jquery隐藏哪些元素

但显然,这个方法不能用于jquery元素吗?

我的控制台中的错误消息如下所示:

Uncaught TypeError: Object #<HTMLElement> has no method 'hide' (masonry.pkgd.min.js:9)

我尝试查看documentation,但所有关于接受类型的说法是:

$container.masonry( 'hide', items )
  

项目输入 Masonry.Items的数组

什么是 Masonry.Item 应该是什么?我如何将我的元素指定为一个?

2 个答案:

答案 0 :(得分:4)

如果您阅读文档,则会发现itemsarray的{​​{1}}。

项目 elements

试试这个,

Type: Array of Masonry.Items

答案 1 :(得分:0)

添加此功能

// FIX para Masonry
// goes through all children again and gets bricks in proper order
Outlayer.prototype.publicItemize = function() {
  // collection of item elements
  return this._itemize( this.element.children );
};

现在你可以这样做

// Get correcto list in correct format
var _list = container.masonry("publicItemize");
// Actions on "_list"
// hide elements
container.masonry("hide", _list);