Ciao a tutti!
Ho una pagina dinamica che utilizza ajax e j-query, ma il mio problema è di natura css.
Ho un div (lnres) che viene riempito da una chiamata ajax che stampa un div (cint) con una serie di div (k0,k1...) ecc. impilati uno sotto l'altro.
codice HTML:
<div id='lnres'>
<div id='#cint'>
<div id='k0' class='ggl'>...</div>
<div id='k1' class='ggl'>...</div>
...
</div>
</div>
Quello che cerco di fare è di mostrarne uno per volta all'utente (impostando l'altezza del mio div contenitore (lnres) come l'altezza del div che devo mostrare (es. k0, e qui ci sono) e "tirando su" il div cint, in modo da visualizzare solo il contenuto che mi interessa. questa seconda parte non riesco a farla funzionare.
Questo il codice js
codice:
function animate(id){
id=id%$('.ggl').length;//controllo che id non cresca troppo
var somma=0;
for(j=0;j<$('.ggl').length;++j){
if(j<id){
somma=somma+$('#k'+j).height();//calcolo l'altezza dei div precedenti a quello da mostrare
}
}
$('#lnres').height($('#lnres #k'+id).height());//ok
$('#cint').attr('margin-top',-somma+'px');//<------------------PROBLEMA
return false;
};
il problema è qui: $('#cint').attr('margin-top',-somma+'px'); il margine viene cambiato (nel senso che il valore viene aggiornato), ma il div non si muove di una virgola.
Ho anche provato a usare position:relative sul div esterno, absolute e top sul div interno ma non va neanche così...
___
P.S il codice che ho postato è semplificato (altrimenti il ciclo for così sarebbe superfluo xD)