0

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

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

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

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

4

4 回答 4

1

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

if(parseInt($(this).css('height')) ==200)
于 2013-02-13T15:51:34.070 回答
1

试试这个:

$("#otherBox").click(function() {
    if($(this).height() == 200)
        $(this).height(300);
    else
        $(this).height(200);
});
于 2013-02-13T15:54:41.977 回答
1

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

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

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

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

于 2013-02-13T15:56:01.300 回答
0
$(this).css({"height":"300px"});

看演示

于 2013-02-13T15:48:53.120 回答