Back to top

Autore Topic: [RISOLTO!] Mostra/nascondi div con Jquery  (Letto 5747 volte)

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
[RISOLTO!] Mostra/nascondi div con Jquery
« il: 16 Mag 2011, 22:42:35 »
Ciao a tutti, la mia è una richiesta molto rapida: ho una funzione javascript - al di fuori dei link del menu di joomla - che chiude dei div (eventualmente aperti) aprendone uno la cui id è passata come argomento (non so se anche in java si usa questo termine). E' giusto utilizzare questo codice? Io l'ho provato ma non funziona, vorrei quindi sapere se l'errore dipende dal codice sbagliato o da altro. Sto usando degli effetti di jquery:

Codice: [Seleziona]
function cambiapag(pagina){
    $('.left_body').fadeOut('slow');
    $('.msg_body').fadeOut('slow');
    $(pagina).fadeIn('slow');     //Questa è la riga in cui uso il parametro pagina. Forse è qui il problema?
    $("div#noileft").fadeIn('slow');
}



E' la prima volta che faccio una domanda di questo genere e non so se la sezione in cui sto postando è adatta.
Chiedo scusa nel caso avessi sbagliato.
« Ultima modifica: 17 Mag 2011, 23:04:25 da giovi »

mau_develop

  • Visitatore
Re:Mostra/nascondi div con Jquery
« Risposta #1 il: 16 Mag 2011, 22:59:43 »
o forse un conflitto?

prova ad usare firebug che ha dei tool per js
guarda i sorgenti se carica tutto a dovere, se le path sono corrette
M.

Offline jonxduo

  • Appassionato
  • ***
  • Post: 430
    • Mostra profilo
Re:Mostra/nascondi div con Jquery
« Risposta #2 il: 17 Mag 2011, 15:47:43 »
l'unica cosa che mi viene da chiederti è...
l'id come viene passato??? mi spiego meglio...
Codice: [Seleziona]
<div id="uffa">
</div>

in questo caso la tua variabile com'è?
opzione 1: pagina=#uffa
opzione 2: pagina=uffa

se opzione 1 è corretta allora posta anche un pò di html e php perchè il resto è giusto...
se opzione 2 è corretta allora prova così:
Codice: [Seleziona]
function cambiapag(pagina){
    var uffa='#'+pagina;
    $('.left_body').fadeOut('slow');
    $('.msg_body').fadeOut('slow');
    $(uffa).fadeIn('slow');     //Questa è la riga in cui uso il parametro pagina. Forse è qui il problema?
    $("div#noileft").fadeIn('slow');
}

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Mostra/nascondi div con Jquery
« Risposta #3 il: 17 Mag 2011, 21:35:34 »
innanzitutto grazie per le risposte!
purtroppo niente da fare :( entrambe le vostre considerazioni mi sembrano molto valide ma prima di postare altro codice vorrei chiedervi se conoscete qualche soluzione migliore al mio problema. Vi spiego brevemente:

Ho una pagina con due sezioni principali, una per il sottomenu (è una cosa simil-joomla, ma senza l'uso di php) ed una per il contenuto. Naturalmente ogni link avrà il suo sottomenu ed il suo contenuto. Più contenuti condividono lo stesso sottomenu. Al click di un link dal terzo elemento che consiste nel menu principale, si dovrebbero nascondere tutti i div aperti con effetto fade (naturalmente solo quelli con le due class specificate prima!) ed aprire - sempre in fading - quelli puntati dal link. Come fare questo usando solo javascript?

Offline 56francesco

  • Fuori controllo
  • *
  • Post: 29585
  • Sesso: Maschio
    • Mostra profilo
Re:Mostra/nascondi div con Jquery
« Risposta #4 il: 17 Mag 2011, 21:51:17 »
Citazione
si dovrebbero nascondere tutti i div aperti con effetto fade ..... ed aprire - sempre in fading - quelli puntati dal link.

un effettone pirotecnico..
però non capisco ....   quello potrebbe essere un flashone che con 4 soldi accatti su qualsiasi store in rete ben fornito..
è un esercizio scolastico per caso?
(uso XP perchè win98 non si installa) 
PS: non sono un dipendente dello sbonzor quindi è necessario un "per favore" alla richiesta e un "grazie" alla risposta, sempre! PPS: non scrivo mai per primo in MP, in caso contrario chiedimi una conferma, Grazie.

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Mostra/nascondi div con Jquery
« Risposta #5 il: 17 Mag 2011, 22:27:33 »
non proprio scolastico :) comunque non mi piacciono i siti in flash - lo ammetto, anche perchè non conosco il linguaggio - ma fare tutto con joomla è molto più che soddisfacente ;)

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Mostra/nascondi div con Jquery
« Risposta #6 il: 17 Mag 2011, 23:03:37 »
Signore e signori, il codice sembra fungere: ho semplicemente spostato lo script al termine della pagina dopo essere venuto a consocenza di questo particolare reqiuisito di jquery!

:) Grazie a tutti comunque per le preziose informazioni!


@jonxduo: la variabile "uffa" funziona alla grande ;)

Offline ariess

  • Global Moderator
  • Instancabile
  • ********
  • Post: 4056
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO!] Mostra/nascondi div con Jquery
« Risposta #7 il: 17 Mag 2011, 23:13:27 »
quindi il problema era che lo script veniva eseguito prima che la pagina fosse stata caricata completamente.
evidentemento lo script si trovava ad agire su elementi che non esistevano, perchè non erano stati ancora caricati.

in questo caso avresti potuto risolvere aggiungendo:


 $(document).ready(function() {
                qui il resto del codice
 });

in questo modo tutto lo script viene letto solo a pagina completamente caricata.
usare il .ready() è sempre una buona cosa quando si lavora con javascript, salvo casi eccezionali.

comunque hai fatto bene a spostare il tutto a fondo pagina, evita rallentamenti nel caricamento.
ciao

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO!] Mostra/nascondi div con Jquery
« Risposta #8 il: 17 Mag 2011, 23:37:01 »
Ti ringrazio per la conferma! Si, è vero, quell'escamotage funziona alla grande!

 



Web Design Bolzano Kreatif