我正在使用此代码通过更改其高度来显示/隐藏div:
$("#about").click(function(){
if ($('#descrition').css('height') === '280px') {
$("#description").css("height","0px");
} else {
$("#description").css("height","280px");
}
});
它可以扩展div,但是当我再次单击以隐藏它时则不会。有什么想法吗?
PS:高度的变化很重要,因为我使用css过渡来为div设置动画,因此显示更改不是一个选项。
答案 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'的值。