0

我正在使用此代码通过更改其高度来显示/隐藏 div:

$("#about").click(function(){
    if ($('#descrition').css('height') === '280px') {
        $("#description").css("height","0px");
    } else {
        $("#description").css("height","280px");
    }  
});

它可以扩展div,但是当我再次单击以隐藏它时不起作用。有任何想法吗?

PS:高度的变化很重要,因为我使用 css 过渡来为 div 设置动画,所以不能选择显示变化。

4

2 回答 2

2

这将解决您的问题并加快代码速度,删除重复的 jQuery 解析......

$("#about").click(function() {
    var $description = $("#description");
    if ($description.height() === 280) {
        $description.height(0);
    } else {
        $description.height(280);
    }
});

正如 putvande 所指出的,在尝试获取高度时出现了拼写错误。上面也将 jQuery 对象存储为局部变量,而不是重复解析 DOM。

于 2013-07-30T12:36:22.970 回答
1

那是因为你有一个错字。

在您的第一行中,您检查('#descrition').css('height')而不是('#description').css('height').

但你也可以使用:

$('#description').height();

但这给出了一个没有“px”的值。

于 2013-07-30T12:31:19.240 回答