jquery animate与高度切换重合

时间:2013-08-05 14:54:09

标签: javascript jquery toggle jquery-masonry

基本上我有一个具有绝对定位的大量内容的容器。我有一个高度切换,可以增加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来创建绝对定位。所以我尝试在completion part of .animate中添加一个回调函数,但这只会在动画完成之后执行函数

我需要在动画期间调用此函数,以便当高度增加到一个元素时,即使它们具有绝对定位,它下面的元素也会向下移动

我已经拥有了我需要的功能。我只需要能够调用它以使其与切换动画一致,以便它运行多次并创建一个与height:"toggle"

一起流动的动画效果

额外信息

如果重要,这里是回调函数:

$('#posts').masonry({
    itemSelector: '.post, .post_photo',
    isAnimated: false
});

注意: isAnimated设置为false,因为当它为true时,虽然它可以简化转换,但它会导致其他功能在配置时移动并且看起来非常混乱。如果我可以在toggle高度运行时运行此函数,这应该没有区别,这样看起来就像放宽一样,因为它会简化我只是动画高度的方式

0 个答案:

没有答案