Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: Div nascosto/mostrato

  1. #1
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114

    Div nascosto/mostrato

    Sto cercando di fare uno script adatto epr tutti i tipi di browser e che nasconda o visualizzi un sotto menu... vediamo:

    codice:
    <html>
    <head>
    </head>
    <body>
    
    <script type="text/javascript">
    
    function hideMenu(id)
    {
    
     if (document.all) {
    if ( document.all[id].style.visibility=="visible") document.all[id].style.visibility="hidden";
    else document.all[id].style.visibility="visible";
     /*cambio la visibilità da visibile a invisibile con IE*/
     }
    
     else if (document.layers){ //NN4
    if (document.layers[id].visibility=="show") document.layers[id].visibility="hide";
    else document.layers[id].visibility="show";
     }
    
     else if (document.getElementById) { //NN6 ed Opera
    if (document.getElementById(id).style.visibility=="visible") document.getElementById(id).style.visibility="hidden";
    else document.getElementById(id).style.visibility="visible";
     }
    
    
    }
    </script>
    
    MENU
    <div id="nascondi_menu">
    
    CIAO CIAO CIAO!
    </div>
    
    </body>
    </html>
    Ho i seguenti problemi:
    1) Il div dovrebbe partire da invisibile...;
    2) Sembra che lo script si attivi soltanto dopo il secondo click!
    3) Altro e eventuale.


    Vi ringrazio!

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il javascript trova le proprieta' css di un oggetto solo se queste sono "in-line" ovvero dichiarate nell'oggetto stesso, quindi il tuo script la prima volta assegna la proprieta', la seconda la modifica...

    Dovresti risolvere con:

    <div id="nascondi_menu" style="visibility:hidden;">

    ... ma non aspettarti la compatibilita' con browser troppo datati...

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Eheh... vediamo un pò..

    Ho fatto uno script per fare in modo di:

    Nascondere o mostrare alcuni div o span... ma ora vorrei che se ci sono div e span aperti con questa metodologia... questi vengano chiusi prima di aprire il div che ci interessa...

    in pratica.. se apro un div e poi ne voglio aprire un'altro, il primo dovrebbe chiudersi!

    Eccolo script.. non funzionate...
    naturalmente la classe "nascosta" è in display:none , mentre "show" è in display:block!

    Codice PHP:
    // id = nascondi_menu1, nascondi_menu2, ecc..
    function hideMenu(id) {
         var 
    i_menu;
        var 
    idi"nascondi_menu"+i_menu;
        if (
    HM_DOM) {
            if(
    document.getElementById(id).className == "nascosta") {
                while (
    document.getElementById(idi).className == "show" && document.getElementById(idi) != document.getElementById(id)) {
                        
    document.getElementById(idi).className == "nascosta";
                }
                
    document.getElementById(id).className "show";
            }
            else 
    document.getElementById(id).className "nascosta";
        }
             if (
    HM_IE) {
                    if (
    document.all[id].className == "nascosta") {
                while (
    document.document.all[idi].className == "" && document.document.all[idi] != document.document.all[id]) {
                        
    document.document.all[idi].className == "nascosta";
                }
                
    document.all[id].className "";
            }
                    else 
    document.all[id].className == "nascosta";
            }
            else if (
    isNS4){
                    if (
    document.layers[id].className == "nascosta") {
                while (
    document.document.layers[idi].className == "" && document.document.layers[idi] != document.document.layers[id]) {
                        
    document.document.layers[idi].className == "nascosta";
                }
                
    document.layers[id].className "";
            }
                    else 
    document.layers[id].className == "nascosta";
            }

    Grazie ancora!

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    e questa roba (come al solito fantasiosamente inventata da te) cosa dovrebbe fare?

    while (document.document.all[idi].className == "" && document.document.all[idi] != document.document.all[id]) {...

  5. #5
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Dovrebbe ritrovare tutti quegl'id con classe default e diversi dall'id cliccato.. per chiuderli!!

    Semplice no!?? VVoVe:

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    mah,
    buona fortuna igreo

  7. #7
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Cosa c'è di sbagliato il while? ... Scusami, ma sto imparando! Sob.

  8. #8
    Non è certo andando a capo di m****ia che impari javascript!

    Se anche i più esperti spesso non riescono a far funzionare un codice per un banale errore di sintassi, come pretendi di inventarti le istruzioni e aspettarti che funzionino?

    Ad esempio non capisco il document.document;

    forse ti sei confuso con window.window, che poi non sarebbe altro che window...


    Comunque ti consiglio vivamente di studiare. Non è poi così difficile imparare javascript.

  9. #9
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da Mega69
    Non è certo andando a capo di m****ia che impari javascript!

    Se anche i più esperti spesso non riescono a far funzionare un codice per un banale errore di sintassi, come pretendi di inventarti le istruzioni e aspettarti che funzionino?

    Ad esempio non capisco il document.document;

    forse ti sei confuso con window.window, che poi non sarebbe altro che window...


    Comunque ti consiglio vivamente di studiare. Non è poi così difficile imparare javascript.
    A questa osservazione ha gia' risposto... http://forum.html.it/forum/showthrea...9#post10042149
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  10. #10
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Accidenti che svista... scusate ma è tutto il giorno che sto lavorando a questo.. hobby!!

    Chiedo umilmente venia! Scusatemi ancora!;P

    ..

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.