Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732

    Creare "a mano" un menu dropdown con jquery

    Mi stavo cimentando nella creazione di un semplice menu dropdown fatto con jquery... so che ne esistono milioni ma vorrei riuscire a sbrigarmela da solo sulle cose più semplici ed esperimenti simili mi sembrano un buon modo

    Finora sono riuscito a tirar fuori qualcosa che funziona benone fino al terzo livello di profondità (link -> link -> link), vorrei però fare in modo che un simile menu possa avere livelli potenzialmente infiniti... il fatto è che quando arrivo al terzo livello sorgono due problemi:

    1) EDIT: risolto! al link di terzo livello che ne contiene un quarto non viene data la classe hasChild, quindi non gli viene appiccicata la freccina rivolta verso il basso
    2) il link di quarto livello viene posizionato da tutt'altra parte rispetto a dove dovrebbe

    Ecco il menu, se qualcuno volesse cimentarsi... usate il tastino fork http://jsfiddle.net/tox82/9MAsP/

  2. #2
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    ... Ho risolto il primo punto... avevo usato male un'espressione

    Rimane aperto il secondo: perchè diamine il link va a posizionarsi in mezzo al nulla?

  3. #3
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Ho corretto una cosa ed ora il menu va un po' meglio, anche se c'è qualcosa che non mi convince...: la quarta voce non si posiziona più a caso ma... succede qualcosa di altrettanto strano, se apro un sottomenu questo si visualizza lateralmente, ma viene aggiunto uno spazio sotto il genitore...

  4. #4
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Nel caso in cui ti fosse appetibile un menu fatto in puro CSS senza l'ombra di JavaScript e con infiniti livelli di profondità...: https://developer.mozilla.org/files/...down_menu.html

    (ovviamente quello schifo di grafica puoi personalizzarla a piacere rendendola molto molto più cool xD)
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  5. #5
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Grazie ma non ho bisogno di implementare un dropdown (ce ne sono migliaia in giro, come dicevo), volevo provare a farmene uno io... a mano.

  6. #6
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Ce l'ho (quasi) fatta

    http://jsfiddle.net/tox82/9MAsP/18/

    Devo solo più convincere il link Test3 a tornare del suo colore originale (grigio scuro) quando sono posizionato sopra Test 4... ma il menu è praticamente finito

    Nella prossima versione (se ci sarà) farò in modo di posizionare il sottomenu a sinistra se a destra non c'è più spazio... ma le funzionalità di base ci sono

  7. #7
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Aggiunto il controllo per il posizionamento... se un elemento dovesse finire oltre la dimensione della finestra, viene spostato a sinistra

    http://jsfiddle.net/tox82/9MAsP/23/

  8. #8
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    È piuttosto inutile il lavoro che stai facendo. I menu a tendina basati su JavaScript sono destinati a scomparire, ormai si possono fare benissimo con i soli CSS, animazioni comprese. Sono più portabili, funzionano anche quando l'utente ha JS disattivato e mostrano il contenuto del menu anche se si usa una vecchio browser da riga di comando.
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  9. #9
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    Originariamente inviato da carlomarx
    È piuttosto inutile il lavoro che stai facendo. I menu a tendina basati su JavaScript sono destinati a scomparire, ormai si possono fare benissimo con i soli CSS, animazioni comprese. Sono più portabili, funzionano anche quando l'utente ha JS disattivato e mostrano il contenuto del menu anche se si usa una vecchio browser da riga di comando.
    Ho capito

    Ma come scrivevo
    Grazie ma non ho bisogno di implementare un dropdown (ce ne sono migliaia in giro, come dicevo), volevo provare a farmene uno io... a mano.
    Lo sto scrivendo al solo scopo didattico, per imparare ad usare bene jQuery. Non per utilizzarlo. Un dropdown in soli css (con tanto di animazioni, perchè no) lo farò più avanti, ma nel frattempo il mio obiettivo è questo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.