Jquery CSS高度切换

时间:2013-07-30 12:29:30

标签: jquery css toggle conditional

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

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

它可以扩展div,但是当我再次单击以隐藏它时则不会。有什么想法吗?

PS:高度的变化很重要,因为我使用css过渡来为div设置动画,因此显示更改不是一个选项。

2 个答案:

答案 0 :(得分:2)

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

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

正如普特万德所指出的那样,在试图达到高度时出现了一个错字。上面还将jQuery对象存储为局部变量,而不是重复解析DOM。

答案 1 :(得分:1)

那是因为你有一个错字。

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

但你也可以使用:

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

但是这给出了一个没有'px'的值。