jQuery使用animate()动画div的高度来隐藏/显示内部的内容

时间:2013-04-03 04:57:46

标签: jquery jquery-animate slidedown slideup

我试图动画div的高度来隐藏或显示其中的内容。使用animate()是获取我想要的动画的最方便的方法,因为您可以指定要为其设置动画的高度。但是,我试图获得使用slideUp()或slideDown()的功能。当使用animate()作为高度时,div id内部的内容会向上或向下推,具体取决于你是缩小还是扩展高度......这不是我想要的。我希望div向上滑动并隐藏内容或向下滑动并显示它(几乎就像一个车库门打开或关闭,显示或隐藏内容,不会以任何方式影响它,就好像它有一个固定的位置) 。有干净的方法吗?我会继续使用slideUp()和slideDown(),但我需要能够指定一个增长到的高度和一个停止的高度。任何帮助表示赞赏。

这是一个完整工作示例的小提琴: http://jsfiddle.net/8XRqg/

这是我尝试用jQuery做的一个版本。我完全按照需要运行它,只有我希望内容受到div缩小的影响。此外,我现在在顶部和底部之间切换时内容淡出。一旦功能是我想要的,我想摆脱它。

 $(document).ready(function() 
    {
        var top = $("#top");
        var bottom = $("#bottom");
        var image = $(".image");
        var content = $(".content");
        var topOpen = false;
        var bottomOpen = false;

        content.hide();

        top.click(function()
        {
            if(topOpen == false)
            {   
                var thisContent = $(this).children(".content");
                topOpen = true;
                bottomOpen = false;
                content.fadeOut(250);
                thisContent.css({ marginTop : (thisContent.height()/2) * -1 });

                image.fadeOut("fast", function()
                {
                    thisContent.delay(500).fadeIn(250);
                    top.animate({ height : 190 });
                    bottom.animate({ height : 10 });
                });
            }
        });

        bottom.click(function()
        {   
            if(bottomOpen == false)
            {
                var thisContent = $(this).children(".content");
                bottomOpen = true;
                topOpen = false;
                content.fadeOut(250);
                thisContent.css({ marginTop : (thisContent.height()/2) * -1 });

                image.fadeOut("fast", function()
                {   
                    thisContent.delay(500).fadeIn(250);
                    bottom.animate({ height : 190 });
                    top.animate({ height : 10 });
                });
            }
        });

    });

1 个答案:

答案 0 :(得分:0)

请参阅以下网址寻求帮助。我觉得你在找这样的东西。

http://jqueryui.com/accordion/#default