Mam kilka tagów DIV z różnymi ilościami tekstu.Jak zachować wiele DIV o tej samej wysokości za pomocą jQuery?
HTML:
<div id="boxes">
<div id="boxone">
<p>...</p>
</div>
<div id="boxtwo">
<p>...</p>
</div>
<div id="boxthree">
<p>...</p>
</div>
<div id="boxfour">
<p>...</p>
</div>
</div>
Są w układzie dwa na dwa, a ich szerokość jest płyn:
CSS:
div#boxes {
width: 100%;
}
div#boxes div {
width: 49.9%;
float: left;
}
Chcę je wszystkie na tej samej wysokości .
Przeszukuję ich i znajduję wysokość najwyższego. Potem znowu pętlę i ustawić wszystkie na taką wysokość.
jQuery:
$(function() {
var maxHeight = 0;
$('div#boxes div').each(function(){
if (maxHeight < $(this).height()) {maxHeight = $(this).height()}
});
$('div#boxes div').each(function(){
$(this).height(maxHeight);
});
});
Działa to dobrze, jeśli wysokość div nie trzeba ponownie zmieniać.
Ale to się nie powiedzie, jeśli rozmiar okna przeglądarki:
Gdybym (a) sprawi, że przeglądarka szersza, a następnie (b) moje DIV uzyskać szerszy, a następnie (c) ich tekst zawartość zawija się mniej razy, a następnie (d) moje DIV są zbyt wysokie.
Gdybym (b) sprawiają, że przeglądarka węższe, następnie (b) moje DIV się węższy, a następnie (c) ich treść tekst zawija więcej, a następnie (d) moi div są zbyt krótkie.
Jak ja (1) DIV automatycznie wielkości do wysokości ich treści jak normalne, ale także (2) zachować te wieloodcinkowe DIV tej samej wysokości?
maxHeight jest zawsze taki sam za każdym razem, gdy wykonywany jest adjustBoxHeights(). Wysokość DIV nigdy nie może się zmienić z powrotem na ich naturalną/automatyczną wysokość. –
Jak usunąć styl wysokości z DIV za pomocą jQuery? http://stackoverflow.com/questions/804161/how-do-i-remove-the-height-style-od-a-div-using-jquery –
$ (wybór) .height ("auto") wydaje się do pracy w uzupełnieniu do $ (selection) .css ("height", "auto") w moim przykładzie powyżej. – RwwL