2011-08-21 87 views
2

的高度/寬度我有一個UL一個div在它,UL的內部通過使用的jQuery我有LI元素動態地填充它。所以,我可以從1裏有任何地方,到30以上。如果UL內元素的量超過了一定的高度/寬度時動態地填充在欲翻轉容器它們在從一個容器,將伸展,因爲它填充到一個滾動駐留。我會怎麼做?jquery的計算給定動態地填充容器

回答

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

,你可以爲寬度同樣檢查。

0

如何只適用max-heightmax-widthoverflow CSS樣式規則的ul元素?

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

編輯:此解決方案不會爲不尊重max-heightmax-width CSS2規則(如IE6)瀏覽器。

+0

我喜歡這個解決方案,如果克里斯被允許假裝IE6不存在。但它應該是溢出:自動,不溢出:滾動。他也想要最大寬度。 – sethobrien

+0

@sethobrien - 約IE6好一點。你說得對; 「自動」可能會比「滾動」一個更好的選擇。編輯。 – RoccoC5