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

时间:2011-08-21 07:35:43

标签: javascript jquery html css

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

2 个答案:

答案 0 :(得分:2)

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

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");
}

你可以同样检查宽度。

答案 1 :(得分:0)

如何将max-heightmax-widthoverflow CSS样式规则应用于ul元素呢?

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

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