jquery - 在 jQuery 中将下拉列表最大高度限制为屏幕高度

标签 jquery css twitter-bootstrap internet-explorer overflow

我有一个 HTML 页面,需要在顶部导航栏中的下拉菜单中显示大量内容,这会导致某些下拉菜单在打开时超出屏幕高度。我使用 Bootstrap 3 并使用无序列表 ( <ul> ) 标签创建自己的下拉菜单。

如果我应用以下 CSS,则可以解决问题,并且还可以得到一个垂直滚动条,这就是我在这种情况下想要的。我这里唯一的问题是最大高度是一个固定值。注意:我需要能够支持 IE8 和 IE9。

有没有办法使用 CSS 或 jQuery 将其设置为屏幕高度(或稍小一些),以便最大高度在屏幕高度发生变化时进行调整,尤其是。支持较小的屏幕?

我的CSS:

<ul class="dropdown-menu" style="max-height:300px; overflow:auto">

最佳答案

这将设置列表的高度,以免溢出屏幕。
试试这个:

$(function(){
    $(window).resize(function(){
        $('ul').css('max-height', ($(window).height() - $('ul').offset().top) + 'px');
    });
});

关于jquery - 在 jQuery 中将下拉列表最大高度限制为屏幕高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25359639/

相关文章:

javascript - jquery 或 javascript 中的对象

css - Zurb Foundation 中嵌套网格的问题

jquery - css水平下拉定位

javascript - 单击 Bootstrap 链接内的插入符号图标不起作用

javascript - 向子菜单下拉列表添加延迟 - bootstrap3

javascript - 从 JSON 自动完成 Bootstrap 弹出窗口的内容

javascript - 奇怪的问题 Highchart tick interval

当包含任何其他 JavaScript 文件时,jQuery Intellisense 不起作用

javascript - 如何使用map获取所有子菜单数据或属性?

html - 为提交、取消、删除、操作等做 html 按钮的正确方法是什么?