jquery - 获取 div 容器高度以动态调整大小以适应页脚

标签 jquery css

我正在创建一个具有不同显示模式(admindisplayuser)的网站。

我希望容器的高度根据显示模式动态调整大小,以便占用页眉/页脚之间的空间。

在某些情况下没有页脚(显示),因此容器应占据剩余空间。

除此之外,我希望容器在设置的边界内自动溢出。

我怎样才能实现这一目标?

到目前为止,这是我的代码:http://jsfiddle.net/UgQLS/2/

目前容器高度设置为 100%,当文本溢出时,它会被页脚覆盖。

不同的显示模式:

$(".admin_btn").click(function() {
    $('.user').hide();
    $('.admin').show();
});

$(".user_btn").click(function() {
    $('.admin').hide();
    $('.user').show();
});

$(".display_btn").click(function() {
    $('.admin').hide();
    $('.user').hide();
    $('.display').show();
}); 

$('.admin').on('click', '#sendlogout', function (e) {
    $('#login_confirm').hide()
    $('#hide_admin').show()
});

最佳答案

我建议创建一个固定的页脚区域并将各种页脚元素放入其中。然后,您可以使用 css 类来改变内容的底部填充以适应动态页脚内容,或者根据当前页脚高度重新计算内容容器填充。

注意:填充容器允许您将固定页脚隐藏的内容滚动到 View 中

在此fiddle你可以看到一个重新计算的方法

$(".admin_btn").click(function() {
    $('.user').hide();
    $('.admin').show();
    reflow();
});

function reflow() {
    $('.container').css('padding-bottom', $('#footer').height() );
}

但是您可以在单击按钮时轻松地向您的内容添加一个类,并以这种方式设置 padding-bottom

$(".admin_btn").click(function() {
    $('.user').hide();
    $('.admin').show();
    $('.container').toggleClass('admin');
});

CSS

.container.admin {
     padding-bottom: 156px;
}

如果您使用 css 方法,您可以通过基于容器类设置页脚元素上的显示来消除 hide()show() 调用,像这样:

$(".admin_btn").click(function() {
    $('.container').toggleClass('showadmin');
});

CSS

.user, .admin {
    display: none;
}

.showadmin .admin {
    display: inherit;
}

.container.showadmin {
    padding-bottom: 156px;
}

关于jquery - 获取 div 容器高度以动态调整大小以适应页脚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17910390/

相关文章:

javascript - 如何使下面的框移动( Accordion )

html - Bootstrap 下拉列表错误地突出显示

javascript - JavaScript 缩放后计算一个点的坐标

css - fabricjs 是否支持径向渐变?

html - min-width 属性不适用于 Div,但适用于 Table 标签

javascript - AngularJS 和 jQuery-UI Sortable 不起作用

javascript - 使用javascript添加税率时如何显示售价?

jQuery AJAX 超时未定义

jquery - 创建一个按钮,当它被按住时从中心开始填充,如果它被第二次按住则恢复到原来的颜色

html - 列上的 960gs 问题