+ Rispondi alla Discussione
Risultati da 1 a 5 di 5

problema con funzione nascondere div

Ultimo Messaggio di spirit19 il:
  1. #1
    User L'avatar di spirit19
    Data Registrazione
    May 2009
    Messaggi
    63

    problema con funzione nascondere div

    Ciao a tutti, chiedo scusa che chiedo qualcosa di già risolto, uso questa funzione per visualizzare o nascondere un div

    [script]
    /**
    * Funzione per visualizzare/nascondere determinati elementi
    * @param {elementId} : id dell'elemento da visualizzare/nascondere
    */
    function fToggle(elementId) {
    // Recupero l'elemento dall'Id
    var e = document.getElementById(elementId);

    // Se e' visibile lo nascondo
    if ( !e.style.display || e.style.display != "none" ) {
    e.style.display = "none";
    } else {
    // Altrimenti lo visualizzo
    e.style.display = "block";
    }
    }
    [/script]
    Questa funzione controlla id passato se e none apre seno chiude, io vorrei che se; esempio. Ho il div con id 1 apreto e apro anche il div id 2 mi chiuda il div id 1, come devo fare visto che id che passo io lo prendo dinamicamente da un codice php e quindi non lo conosco

    Questo e il codice che invia id alla funziona. Grazie a tutti

    Codice PHP:
    <div><a onclick=\"javascript:fToggle('$row_sql[id]');\"><strong>Curriculum</strong></a></div><br />\n
           <div id=\"
    $row_sql[id]\" style=\"display:none;\">$row_sql[cv]</div> 
    Ultima modifica di Leonov; 26-08-09 alle 15:49 Motivo: Per favore, iniziare le frasi con la lettera maiuscola.

  2. #2
    Esperto L'avatar di mirkoagrati
    Data Registrazione
    Aug 2009
    Località
    Italy
    Messaggi
    409
    Ciao spirit19,
    non è necessario modificare lo script che richiami sul link.

    E' sufficente conservare l'ultimo div id che viene aperto:
    Codice PHP:
    var lastOpened null;

       function 
    fToggle(elementId) {
        
    if(
    lastOpened != null)
       
    document.getElementById(lastOpened).style.display 'none';

    var 
    document.getElementById(elementId);
        
        
    // Se e' visibile lo nascondo
        
    if ( !e.style.display || e.style.display != "none" ) {
         
    e.style.display "none";
        } else {
            
    // Altrimenti lo visualizzo
            
    e.style.display "block";
       
    lastOpened elementId;
        }
       } 
    Provalo e fammi sapere.
    Ciao

  3. #3
    User L'avatar di spirit19
    Data Registrazione
    May 2009
    Messaggi
    63
    Ciao grazie dell' aiuto, funzionare funziona se apro il div con id 1 e poi apro il div id 2 si chiude il div id 1 "come volevo io" pero se apro il div id 1 e poi lo voglio chiudere non lo chiude per lo meno in un microsecondo lo chiede e lo apre c'è un modo per chiudere e poi riaprire il div id 1? Graziee
    Ultima modifica di Leonov; 31-08-09 alle 14:43 Motivo: Per favore, iniziare le frasi con la lettera maiuscola.

  4. #4
    Esperto L'avatar di mirkoagrati
    Data Registrazione
    Aug 2009
    Località
    Italy
    Messaggi
    409
    Ciao spirit19,
    nella fretta di risponderti mi ero perso una condizione.
    Sostituiscila con questa:
    Codice PHP:
    if(lastOpened != null && elementId != lastOpened)
       
    document.getElementById(lastOpened).style.display 'none'
    Ciao

  5. #5
    User L'avatar di spirit19
    Data Registrazione
    May 2009
    Messaggi
    63
    Gracias
    Ultima modifica di Leonov; 31-08-09 alle 16:37 Motivo: Per favore, iniziare le frasi con la lettera maiuscola.

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.