我正在使用 Vanilla Masonry 运行带有块墙的 RoR 应用程序,并且可以使用 JQuery Flip 翻转这堵墙中的每个块!插入。问题是块每一侧的内容长度可能不同,所以我希望在每次翻转动作后重新加载墙壁位置,以避免重叠。
我的代码单向工作,当我第一次翻转块时,但是当我恢复翻转时,我遇到了重叠。
我在加载时初始化 Masonry,这是我的 Flipping-wall.js 代码:
$(document).ready(function(){
$('.sponsorFlip').bind("click",function(){
var elem = $(this);
var wall = new Masonry( document.getElementById('container'), {
gutterWidth:5,
isFitWidth: true
});
if(elem.data('flipped'))
{
elem.revertFlip();
elem.data('flipped',false);
wall.reload();
}
else
{
elem.flip({
direction:'lr',
speed: 350,
onBefore: function(){
elem.html(elem.siblings('.sponsorData').html());
}
});
elem.data('flipped',true);
wall.reload();
}
});
});
这里是三个步骤:
拜托,你能告诉我我做错了什么。多谢你们。