Newsgroup: it.comp.lang.javascript
Titolo: status di un elemento [jquery]

ciao a tutti! vi scrivo perchè ho un comportamento fastidioso e inutile su un menu che sto facendo. Tramite dei link, apro un div contenitore che inizialmente è nascosto con una proprietà css: display: none;
 
i link sono 6, e il funzionamento è:
1) clicca sul link
2) apre il div contenitore
3) mostra (dopo che il contenitore è aperto) l'iframe richiamato dal link.
4) se riclicchi sul link il contenitore si chiude facendo tornare anche l'iframe in modalità nascosta.
 
il problema è che se un utente non fa il punto 4 ma clicca su un altro link, (quindi mentre è aperto il div contenitore) mi chiude il contenitore, senza chiudere l'iframe. se clicca una seconda volta sul secondo link, mi apre il contenitore e mostra entrambi gli iframe caricati sino a quel momento. ora vi mostro il codice per chiarezza:
 
function toggleFrame(t,f){$("#"+f).toggle();  $("#"+t).toggle("slide", { direction: "down" });}
 
questa funzione è quella che si occupa di aprire e chiudere sia il div contenitore che l'iframe contenuto.
 
in pratica vorrei che se il div contenitore (div=t nella funzione) è già aperto rimanga tale e al click di un altro link chiudesse solo l'iframe vecchio (iframe=f nella funzione) e apra quello nuovo. altrimenti se (t) è chiuso lo apra mostrando (f) corretto.
 
Avete qualche idea? Spero di essermi spiegato nel modo giusto, via auguro una buona festa e una buona giornata a tutti! 


Forse quando viene fatto click su di un link, prima di aprire l'iframe, 
dovrebbero essere chiusi tutti e  6 gli iframe, e poi aperto l'iframme 
per il quale è stato fatto click.
Leonardo
 

 function toggleFrame(t,f){$("#"+f).toggle();  $("#"+t).toggle("slide", { direction: "down" });}
 
Come chiami questa funzione? Dal click del link, lo so, ma intendo
proprio il codice per ogni link.



questo è uno dei sei link:
 
<a href="#" onclick="toggleFrame('scroll-up','dictFrame');">




ci ho pensato anche io ma non funziona =_='
ho provato così: 
 
$("iframe.nascondiFrame").hide();
 
dove nascndiFrame è il nome della classe che hanno tutti e 6 gli iframe...

 dove nascndiFrame č il nome della classe che hanno tutti e 6 gli iframe...
 
Prova con disply none. Hide nasconde, ma lascia il posto, mentre none lo 
toglie dalla posizione. Con display block ci puň essere rimesso.
 
$(".nascndiFrame").css("display","none")
$(".nascndiFrame").css("display","block")
 
Puoi anche provare a mettere l'iframe in un ID="if" ed agire su if
 
$("#if").css("display","none")
$("#if").css("display","block")
 
Leonardo
 
 

On 06/03/12 23:35 PM, Logan wrote:
 
Scusate il bad quoting, ma sono informazioni più o meno necessarie.

Servirebbero tutti e sei, come ho detto "per ogni link". Hai una pagina
online dove hai replicato il problema?

 online dove hai replicato il problema?
 
no, è tutto in locale per ora... ma ti metto il link di tutti e sei comunque: 
 
<div id="figlio_indipendente" class="figlio_indipendente">
    	<a href="#" onclick="toggleFrame('scroll-up','transFrame');">
    		<img src="css/img/transport-ico.png" width="30" height="21" align="left" />TRANSPORT
        </a>
    </div>
 
    <div id="figlio_indipendente2" class="figlio_indipendente2"><img src="css/img/avatar.png" width="30" height="21" align="left" /><a href="#" onclick="toggleFrame('scroll-up','avatarFrame')">Avatar</a></div>
 
    <div id="figlio_indipendente3" class="figlio_indipendente3">
    	<a href="#" onclick="toggleFrame('scroll-up','dictionaryFrame');">
        	<img src="css/img/regolamento.png" width="14" height="21" align="left" />RULEZ
        </a>
    </div>
 
    <div id="figlio_indipendente4" class="figlio_indipendente4">
    	<a href="#" onclick="toggleFrame('scroll-up','dictFrame');">
       		<img src="css/img/box_download_48.png" width="21" height="21" align="left" />STORE
        </a>
    </div>
 
    <div id="figlio_indipendente5" class="figlio_indipendente5"><a href="#" onclick="toggleFrame('scroll-up','qg');">Qg</a></div>
 
    <div id="figlio_indipendente6" class="figlio_indipendente6">
    	<a href="#" onclick="toggleFrame('scroll-up','loginFrame');">
        	<img src="css/img/exit_21_21_red.png" width="21" height="20" align="left" />LOGIN/EXIT
        </a>
    </div>

//Ci siamo! Ho risolto così :-)
 
function mostraFrameMenu(t){
	$("iframe.nascondiFrameMenu").css("display","none");
	$("#scroll-up").show("slide", {direction: "down"},1000);
	$("#"+t).css("display","block") 
}
 
<a href="#" onclick="mostraFrameMenu('transFrame');">


 //Ci siamo! Ho risolto cosě :-)
 
Allora neanche scorro il messaggio precedente. :)