本质上,我有一个包含大量内容且具有绝对定位的容器。我有一个高度切换,可以增加一个的高度mouseenter
,然后恢复正常mouseleave
。这是jQuery:
function newHeightSlide(sel1,sel2){
$(sel1).mouseenter(function(){
$(sel2,this).animate({
height: 'toggle'
},'normal');
});
$(sel1).mouseleave(function(){
$(sel2,this).animate({
height: 'toggle'
},'normal');
});
}
问题是由于高度随绝对定位的变化,元素可以重叠
我正在使用Jquery Masonry来创建绝对定位。所以我尝试在.animate 的完成部分添加一个回调函数,但这只会在动画完成后执行该函数
我需要在动画期间调用此函数,以便当高度增加到一个元素时,它下面的元素会向下移动,即使它们具有绝对定位
我已经有了我需要的功能。我只需要能够调用它,以便它与切换动画一致,以便它运行多次并创建一个动画效果,与height:"toggle"
额外信息
如果它很重要,这里是回调函数:
$('#posts').masonry({
itemSelector: '.post, .post_photo',
isAnimated: false
});
注意: isAnimated 设置为 false 是因为当它为 true 时,虽然它会缓和过渡,但它会导致其他功能在配置时移动并且看起来非常混乱。如果我可以让这个函数在toggle
高度运行时运行,这应该没有什么不同,这样它看起来无论如何都会缓和,因为如果我只是为高度设置动画,它会缓和它的方式