Se ho il seguente markup;jQuery Equal Height Div
<div id="container">
<div id="box">
<div id='sameHeight'>One<br>two<br>three</div>
<div id='sameHeight'>four</div>
<div id='sameHeight'>five</div>
<div>
<div id="box">
<div id='sameHeight'>four</div>
<div id='sameHeight'>six</div>
<div id='sameHeight'>seven<br>eight</div>
<div>
</div>
Come posso assicurare che tutti i div contrassegnati come "sameHeight" hanno la stessa altezza come le loro controparti in altri div?
Ho dato un'occhiata al plugin equalHeights ma questo presuppone che tutti i div parallelamente siano nello stesso genitore. Ne ho bisogno uno che possa attraversare i genitori o permettermi di specificare i genitori.
Esiste una cosa del genere o devo scriverlo?
EDIT
mi sembra di avere causato una certa confusione nella mia spiegazione quindi spero che questo cancella le cose un po '.
Guardando il nuovo markup, il contenitore è una semplice scatola.
Le immersioni "scatola" sono affiancate.
Ciascun div di altezza uguale si trova quindi uno sotto l'altro all'interno del relativo genitore.
La cosa che sto cercando di risolvere è di avere ciascuno degli stessi pesi che corrispondono al lato opposto della stessa altezza.
dovrebbe assomigliare a una griglia immagino w/out utilizzando una griglia.
Spero che questo aiuti.
EDIT 2
Questo è finora quello che ho messo a punto, ma c'è un modo migliore?
function SetHeights() {
var numLines = $('#container>div:eq(0) .sameHeight').length;
for (var t = 0; t < numLines; t++) {
var leftHeight = $('#container>div:eq(0) .sameHeight:eq(' + t + ')').outerHeight();
var rightHeight = $('#container>div:eq(1) .sameHeight:eq(' + t + ')').outerHeight();
if (leftHeight > rightHeight) {
$('#container>div:eq(1) .sameHeight:eq(' + t + ')').css({ height: leftHeight });
}
else {
$('#container>div:eq(0) .sameHeight:eq(' + t + ')').css({ height: rightHeight });
}
}
}
Quindi, tutti i '# box' devono avere la stessa altezza? – alex
su base per riga sì – griegs