切换高度
问题描述:
我用下面的代码来切换一个div的大小:切换高度
var position = 'expanded';
var curHeight = $('.login-div').height();
$(".login-header").click(function() {
if (position == 'expanded') {
$('.login-div').animate({
height: '3.2vw'
});
position = 'collapsed';
} else {
$('.login-div').animate({
height: curHeight
});
position = 'expanded';
}
});
我最初的div高度没有默认size.Its高度取决于content.So我是试图让div的高度,并在我的第二次点击使用它,将其大小恢复正常。但不知何故它不采取正确的高度。我的初始div有260像素的高度,但高度()表示它只有238像素...
答
如果你的元素在CSS就可以设置一个边界或保证金,并要包含那些在高值,使用outerHeight()
var curHeight = $('.login-div').outerHeight();
答
var position = 'expanded';
var curHeight = $('.login-div').height();
$(".login-header").click(function() {
if (position == 'expanded') {
$('.login-div').animate({
height: '3.2vw'
});
position = 'collapsed';
} else {
$('.login-div').animate({
height: curHeight
});
position = 'expanded';
}
});
答
我已经创建了一个小例子。不确定你的问题到底是什么意思。这是否说明你想要做什么?
var positionExpanded,
curHeight = $('.login-div').outerHeight();
$(".login-header").click(function() {
if (positionExpanded) {
$('.login-div').animate({
height: '32vw'
});
positionExpanded = false;
} else {
$('.login-div').animate({
height: curHeight
});
positionExpanded = true;
}
});
工作演示在这里:http://jsbin.com/jivezilula/4/edit?html,css,js,output
+0
是的,那是问题所在,但Rory McCrossan早点回来了。 –
你能在'jsfiddle'中重现这一点 – Tushar
我的同胞罗马尼亚人使用两种不同类型的单位 – madalinivascu
如果你的元素在CSS中设置了一个'border'或'margin'并且你希望在高度中包含这些'border'或'margin',请尝试'outerHeight )'。 –