用jQuery切换CSS高度?

时间:2013-02-13 15:47:37

标签: jquery css

我正在尝试使用jQuery在点击它时切换div的高度。这是我正在尝试的:

$("#otherBox").click(function() {
    if($(this).css("height") == "200") {
        $(this).css("height", "300")
    }
    else {
        $(this).css("height", "200")
    }
})

我试图这样做,如果高度为200,则设置为300,反之亦然。为什么这不起作用?

另外,如果有办法让它在高度之间平滑移动(如slideToggle),那就方便了。

4 个答案:

答案 0 :(得分:1)

使用parseInt,因为你得到“200px”而不是200,你需要用jQuery包装它

if(parseInt($(this).css('height')) ==200)

答案 1 :(得分:1)

试试这个:

$("#otherBox").click(function() {
    if($(this).height() == 200)
        $(this).height(300);
    else
        $(this).height(200);
});

答案 2 :(得分:1)

我看到很多这些问题。我的答案始终是jQuery中容易被忽视的$.toggle()函数。

$("#otherBox").toggle(
    function() {
        $(this).css({height: 300});
    },
    function() {
        $(this).css({height: 200});
    },
);

此代码运行单击时指定的功能,在两个功能之间交替。

(该功能在文档中很容易被忽略,因为它很少使用$.toggle()的标准用法的重载。)

答案 3 :(得分:0)

$(this).css({"height":"300px"});

See Demo