所以,我正在使用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 应该是什么?我如何将我的元素指定为一个?
答案 0 :(得分:4)
如果您阅读文档,则会发现items
是array
的{{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);