我正在使用此代码通过更改其高度来显示/隐藏一个 div:
$("#about").click(function(){
if ($('#descrition').css('height') === '280px') {
$("#description").css("height","0px");
} else {
$("#description").css("height","280px");
}
});
它可以展开 div,但当我再次单击以隐藏它时却不起作用。有什么想法吗?
PS:高度的变化很重要,因为我使用 css 过渡动画 div,所以显示变化不是一个选项。
最佳答案
这将解决您的问题并加快代码速度,删除重复的 jQuery 解析...
$("#about").click(function() {
var $description = $("#description");
if ($description.height() === 280) {
$description.height(0);
} else {
$description.height(280);
}
});
正如 putvande 所指出的,在尝试获取高度时出现了错字。上面还将jQuery对象存储为局部变量,而不是重复解析DOM。
关于Jquery CSS 高度切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17947080/