[Web2.0] [jquery] Ottenere informazioni di dimensioni dopo un effetto
Giovanni Battista Lenoci
gianiaz a gianiaz.net
Gio 26 Lug 2007 14:01:50 CEST
Ciao, ho una lista di news, per le quali mostro solo il titolo, tramite
jquery mostro con l'effetto "show" un <p> che contiene il testo completo
della news.
Le news stanno in un div ad altezza fissa, e vorrei gestire lo scroll
tramite 2 bottoni anzichè usare l'overflow auto del browser.
Quindi quello che cerco di fare è ottenere le dimensioni della lista
dopo che è stato aperto il paragrafo.
Ecco un po' di codice:
#news_+id è l'id del blocco di testo della news che voglio aprire,
.surprise è la classe assegnata a tutti i blocchi di testo completo
della news
#news_list è la lista che contiene i link e i blocchi di testo
#news_patologia è il div con altezza fissa
Con la funzione showcontroller voglio mostrare le frecce solo se il
contenuto supera le dimensioni del div.
function openclose(id) {
$('.surprise').hide('slow');
$('#news_'+id).fadeIn('slow', showcontroller());
}
function showcontroller() {
// Rileva la dimensione massima del box
objheight = $("#news_list").height();
alert(objheight);
// Faccio scomparire il navigatore se le dimensioni stanno nel box
if(objheight < parseInt($("#news_patologia").height())) {
$("#down_p").hide(); $("#up_p").hide();
} else {
$("#down_p").show(); $("#up_p").show();
}
}
Il problema che riscontro in questo metodo è che al click di apertura
della news mi viene restituita la dimensione della lista prima che
questa sia aperta (quindi non riesco a mostrare i controlli), e cosi
anche quando chiudo la news mi viene restituita la dimensione della
lista prima della chiusura.
In pratica è come se showcontroller venga eseguita prima dell'effetto di
apertura/chiusura.
Ho provato sia con la funzione di callback (come l'esempio riportato)
sia richiamando la funzione in un istruzione successiva, ma il risultato
è sempre lo stesso.
Un'altro quesito OT, su googlegroups non ricevo le mail che ho spedito
io, come avviene in questa lista, e non so se è una cosa normale, o se
le mie mail non arrivano alla lista di jquery inglese...
Ciao e grazie per ogni suggerimento.
--
gianiaz.net
di Giovanni Battista Lenoci
P.le Bertacchi 66
23100 Sondrio
cell. +39.347.7196482
Maggiori informazioni sulla lista
Web2.0