Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    209

    chiusura div nidificati

    Ciao, mi date una mano su sta cosa?
    ------------
    codice:
    <script>
    function mercati_ricerca(mercato){
    	if(document.getElementById(mercato).style.display == 'none'){
    		document.getElementById(mercato).style.display = 'block';
    		return;
    	} else {
    		document.getElementById(mercato).style.display = 'none';
    	}
    }
    function chiudi_div(){
    	document.getElementById('vis_energia').style.display = 'none';
    }
    </script>
    <div id="ricerca" style="border:1px solid black; display: block; width:250px; height:300px; background-color:#090;" onclick="chiudi_div()">
      <div id="energia" style="width:150px; height:36px; border:1px solid green; background-color:#F00;" onclick="mercati_ricerca('vis_energia');"> fdff </div>
      <div id="vis_energia" style="background-color: rgb(255, 255, 255);  width: 120px; padding:5px;">
        ENEL
    
        EDISON
    
        SORGENIA
    
        ALTRO
    
        ENI
    
        FLY
    
        A2A
    
        ITALCOGIM
    
        EON
    
      </div>
    -------------
    Sono 3 div, il primo verde che racchiude undiv rosso e uno bianco.
    Riesco a far aprire e chiudere il div bianco cliccando sul div rosso. Volevo far chiuder il div bianco anche cliccando su quello verde ma solo che quando gli ho aggiunto la funzione poi il click sul div rosso nn va +. Ho capito che è un problema di sovrapposizione ma come si può risolvere?
    E' proprio quando credete di sapere qualcosa che dovete guardarla da un'altra prospettiva. (Robin Williams in "L'attimo fuggente")

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    prova cosi:

    codice:
    <script>
    function mercati_ricerca(mercato,ev){
        if(ev.target.id == "ricerca"){
            document.getElementById(mercato).style.display = 'none';
        }else{
            if(document.getElementById(mercato).style.display == 'none'){
                document.getElementById(mercato).style.display = 'block';
            } else {
                document.getElementById(mercato).style.display = 'none';
            }
        }
    }
    </script>
    <div id="ricerca" style="border:1px solid black; display: block; width:250px; height:300px; background-color:#090;" onclick="mercati_ricerca('vis_energia',event);">
      <div id="energia" style="width:150px; height:36px; border:1px solid green; background-color:#F00;"> fdff </div>
      <div id="vis_energia" style="background-color: rgb(255, 255, 255);  width: 120px; padding:5px;">
        ENEL
    
        EDISON
    
        SORGENIA
    
        ALTRO
    
        ENI
    
        FLY
    
        A2A
    
        ITALCOGIM
    
        EON
    
      </div>

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    209
    nulla .. mi da errore: target.id nullo...
    E' proprio quando credete di sapere qualcosa che dovete guardarla da un'altra prospettiva. (Robin Williams in "L'attimo fuggente")

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    l'ho provato ora e sembra funzionare correttamente, hai copiato anche la parte html?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    209
    Funziona con chrome e firefox ma nn con iexplorer...nel caso vorrei che nn si chiudesse neanche quando si clicca sul bianco...
    E' proprio quando credete di sapere qualcosa che dovete guardarla da un'altra prospettiva. (Robin Williams in "L'attimo fuggente")

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    per explorer prova usando ev.srcElement

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    209
    Originariamente inviato da webhome
    Funziona con chrome e firefox ma nn con iexplorer...nel caso vorrei che nn si chiudesse neanche quando si clicca sul bianco...

    per nn farlo chiudere sul bianco ho risolto...

    codice:
    <script>
    function mercati_ricerca(mercato,ev){
        if(ev.target.id == "ricerca"){
            document.getElementById(mercato).style.display = 'none';
        } else if(ev.target.id == "vis_energia"){
    		document.getElementById(mercato).style.display = 'block';
    		} else { 
    			if(document.getElementById(mercato).style.display == 'none'){
    				document.getElementById(mercato).style.display = 'block';
    			} else {
    				document.getElementById(mercato).style.display = 'none';
    			}
        }
    }
    </script>
    ora si deve far funzionare su ie...
    E' proprio quando credete di sapere qualcosa che dovete guardarla da un'altra prospettiva. (Robin Williams in "L'attimo fuggente")

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    209
    Modificato ancora ora funziona con firefox, chorme e firefox

    codice:
    <script>
    function mercati_ricerca(mercato,ev){
        if((ev.target || ev.srcElement).id == "ricerca"){
            document.getElementById(mercato).style.display = 'none';
        } else if((ev.target || ev.srcElement).id == "vis_energia"){
    		document.getElementById(mercato).style.display = 'block';
    		} else { 
    			if(document.getElementById(mercato).style.display == 'none'){
    				document.getElementById(mercato).style.display = 'block';
    			} else {
    				document.getElementById(mercato).style.display = 'none';
    			}
        }
    }
    </script>
    E' proprio quando credete di sapere qualcosa che dovete guardarla da un'altra prospettiva. (Robin Williams in "L'attimo fuggente")

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 © 2024 vBulletin Solutions, Inc. All rights reserved.