Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery计算给定动态填充容器的高度/宽度_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript jquery计算给定动态填充容器的高度/宽度

Javascript jquery计算给定动态填充容器的高度/宽度,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个带有UL的div,在UL内部,通过使用jQuery,我让LI元素动态地填充它。因此,我可以在任何地方从1里,到30或更多。如果UL中的元素数量在动态填充时超过某个高度/宽度,我想将它们所在的容器从填充时会拉伸的容器翻转到滚动的容器。我该怎么做呢?在用新项目填充列表时,可以明确检查大小: var maxHeight = 500; var ul = $("#myUl"); if (ul.height() > maxHeight) { ul.css("height",maxHei

我有一个带有UL的div,在UL内部,通过使用jQuery,我让LI元素动态地填充它。因此,我可以在任何地方从1里,到30或更多。如果UL中的元素数量在动态填充时超过某个高度/宽度,我想将它们所在的容器从填充时会拉伸的容器翻转到滚动的容器。我该怎么做呢?

在用新项目填充列表时,可以明确检查大小:

var maxHeight = 500;
var ul = $("#myUl");
if (ul.height() > maxHeight) {
    ul.css("height",maxHeight+"px").css("overflow-y","scroll");
} else {
    ul.css("height","auto").css("overflow-y","visible");
}

您也可以类似地检查宽度。

最大高度
最大宽度
溢出
CSS样式规则应用于
ul
元素如何

.myUL {
    max-height: 500px;
    max-width: 325px;
    overflow: auto;
}

编辑:此解决方案不适用于不遵守
max height
max width
CSS2规则(如IE6)的浏览器。

如果允许chris假装IE6不存在,我更喜欢此解决方案。但它应该是溢出:自动,而不是溢出:滚动。他还想要一个最大宽度。@sethobrien-关于IE6的好观点。你是对的“自动”可能比“滚动”更好。编辑。