Buon pomeriggio a tutti.
Il mio problema è il seguente. Ho all'interno di un div "wrapper" due div (left e right) che al loro interno hanno due <ul> con all'interno n-numero <li> (che non posso decidere a priori ma saranno generati dinamicamente sia per numero che per contenuto). Saranno due <ul> "a specchio" nel senso che quello di sinistra avrà lo stesso identico numero di <li> di quello a destra. Per farvi comprendere meglio vi posto il codice. Immaginatevi il div "left" flottato a sinistra e il div "right" flottato a destra. In tal caso ottengo due ul a specchio uno a destra e l altro a sinistra. L'effetto che devo ottenere è che ogni <li> sia allineato a quello corrispondente dall'altra parte...."a specchio" appunto...
qui il css:
Non potendo attribuire una altezza fissa ai <li> di sinistra (proprio perchè il loro contenuto sarà generato dinamicamente e non posso fissarla), devo assolutamente settare l'altezza del <li> corrispondente di destra affinchè abbia la stessa altezza di quello di sinistra e conseguentemente creare un allineamento tra <li> di <ul> differenti posti a specchio. ( il primo <li> di sinistra sarà allineato a quello di destra, il secondo anche, il terzo pure, ecc ecc... )
Come posso fare con Jquery? Farlo con i css è praticamente una cosa impossibile. Ho creato una bozza di script e ve lo posto, però mi sono bloccato. Potete darmi una mano? Grazie e buona serata!
Il mio problema è il seguente. Ho all'interno di un div "wrapper" due div (left e right) che al loro interno hanno due <ul> con all'interno n-numero <li> (che non posso decidere a priori ma saranno generati dinamicamente sia per numero che per contenuto). Saranno due <ul> "a specchio" nel senso che quello di sinistra avrà lo stesso identico numero di <li> di quello a destra. Per farvi comprendere meglio vi posto il codice. Immaginatevi il div "left" flottato a sinistra e il div "right" flottato a destra. In tal caso ottengo due ul a specchio uno a destra e l altro a sinistra. L'effetto che devo ottenere è che ogni <li> sia allineato a quello corrispondente dall'altra parte...."a specchio" appunto...
Codice:
<div class="wrapper">
<div class="left">
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<div class="right">
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</div>
qui il css:
Codice:
.wrapper {}
.left {
width:50%;
float:left;
height:100%;
}
.right {
width:50%;
float:left;
height:50%;
}
.left ul {margin:0;}
.right ul {}
.left ul li {margin:0;}
.right ul li {}
Non potendo attribuire una altezza fissa ai <li> di sinistra (proprio perchè il loro contenuto sarà generato dinamicamente e non posso fissarla), devo assolutamente settare l'altezza del <li> corrispondente di destra affinchè abbia la stessa altezza di quello di sinistra e conseguentemente creare un allineamento tra <li> di <ul> differenti posti a specchio. ( il primo <li> di sinistra sarà allineato a quello di destra, il secondo anche, il terzo pure, ecc ecc... )
Come posso fare con Jquery? Farlo con i css è praticamente una cosa impossibile. Ho creato una bozza di script e ve lo posto, però mi sono bloccato. Potete darmi una mano? Grazie e buona serata!
Codice:
$(document).ready( function(){
var rigaLeft = $(".wrapper left ul li");
$.each( rigaLeft, function(){
var leftHeight = $(this).height(); // prendo le altezze di tutti gli n-<li> di sinistra
//console.log(leftHeight);
var rigaRight = $(".wrapper .right ul li"); // prendo tutti gli n-<li> di destra
$.each(rigaRight, function() {
var rightHeight = $(this).height(); // prendo le altezze di tutti gli n-<li> di destra
//console.log(rightHeight);
//console.log(leftHeight);
$(rigaRight).height(rightHeight); //qui non funziona. Non mi setta l altezza corrispondente
});
//$(rigaRight).height($(this).height());
//console.log($(rigaRight).height());
});
});