jQuery - 切换,再次单击时返回本机

时间:2014-03-27 10:37:52

标签: jquery html css

问题是here

第一个蓝色块有min-height of 500px。它显示了有关我的信息。所以观众按下名为“LueLisää”的按钮(这意味着阅读更多)。蓝色块应改变其高度,使其看起来不会混乱。

应该发生这种情况:

  • 按LueLisää
  • 显示更多信息
  • 增加蓝色块的高度, 这样它看起来不错。 (自动或超过500像素)
  • 再次点击时返回原始尺寸(500px)。

发生了什么情况:

  • 按LueLisää
  • 显示更多信息
  • 增加蓝色块的高度
  • 我再次点击时不会返回。

        $(".more button:eq(0)").click(function(){
            $(".about").css("height", "630px");
            $(".visible:eq(0)").toggle('slow');
            $(".hidden:eq(0)").toggle('slow');  
        });
    

您可以使用.css ("height", "toggle"),但只需在0px和原始版本(500px)之间切换。

这里有变通方法吗?我应该使用.animate吗?

3 个答案:

答案 0 :(得分:1)

我认为你可以通过移动你的CSS来实现这一点,我已经在萤火虫中快速玩了,我认为它可以在没有任何高度的情况下完成,这会使你的头部更清晰一点! / p>

我做了一些改变:

#left {
    display: inline-block;
    width: 60%;
}
#right {
    display: inline-block;
    width: 39%; /* don't know why it doesn't like 100% total */
    text-align:center;
    vertical-align: top; /* make the image stay at the top */
}
.grid { /* Remove the height, and add extra padding (margin removed on left and right) */
    margin: 0 auto;
    padding: 150px 50px 50px;
    width: 860px;
}

这些变化允许内容自然流动 - 浮动意味着需要强制的高度。

答案 1 :(得分:0)

您可以尝试使用toggleClass函数。

$(".className").toggleClass("toggle-class");

答案 2 :(得分:0)

您可以在此处使用.toggle()animate,如下所示:

$('.about').toggle(
    function(){
        $(this).animate({
            height: "630"
        }, 500);
    },
    function(){
        $(this).animate({
            height: "500"
        }, 500);     

    }
);