繁体   English   中英

切换div尺寸的高度问题

[英]Toggle height of div size issue

我正在使用以下代码来切换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高度没有默认大小。它的高度取决于内容。因此,我尝试获取div的高度并在第二次单击时使用它,以将其大小恢复为正常。但是不知何故,它并不需要正确的高度。我的初始div高度为260 px,但是height()表示只有238 px ...

我创建了一个小例子。 不确定您对问题的意思是什么。 这说明您想做什么?

 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

如果您的元素在CSS中设置了边框或边距,并且希望将其包含在height值中,请使用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';
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM