- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- problema con funzione nascondere div
-
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 conoscoQuesto e il codice che invia id alla funziona. Grazie a tutti
[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>
[/php]
-
Ciao spirit19,
non è necessario modificare lo script che richiami sul link.E' sufficente conservare l'ultimo div id che viene aperto:
[php]
var lastOpened = null;function fToggle(elementId) {
if(lastOpened != null)
document.getElementById(lastOpened).style.display = 'none';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";
lastOpened = elementId;
}
}
[/php]Provalo e fammi sapere.
Ciao
-
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
-
Ciao spirit19,
nella fretta di risponderti mi ero perso una condizione.
Sostituiscila con questa:
[php]
if(lastOpened != null && elementId != lastOpened)
document.getElementById(lastOpened).style.display = 'none';[/php]Ciao
-
Gracias