Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130

    menu dinamico - comportamento anomalo

    ho scritto questo html:

    codice:
    <ul id="menu">[*]menu 1.1
    	<ul>
    	[*]sotto menu 1.1
    	[*]sotto menu 1.2
    	[*]sotto menu 1.3
    	[*]sotto menu 1.4
    	[/list]
    [*]menu 1.2
    	<ul>
    	[*]sotto menu 2.1
    	[*]sotto menu 2.2
    	[*]sotto menu 2.3
    	[*]sotto menu 2.4
    	[/list]
    [/list]
    e questo script per mostrare i sottomenu all'onclick sui[*] del menu padre:

    codice:
     <script type="text/javascript">
    // nasconde gli <ul> figli del menu principale
    window.onload = function(){
    if(document.getElementsByTagName && document.getElementById){
        var menu = document.getElementById("menu");
    		var a_sottomenu = menu.getElementsByTagName("ul");
    		// alert(a_sottomenu.length);
    			for(var i=0; i<a_sottomenu.length; i++){
    				a_sottomenu[i].style.display = "none";
    			}
    	
    	// alert(menu.childNodes.length);
    	// cicla tra i[*] figli diretti del menu principale per assegnare il comportamento dell'evento onclick
    	for (var i=0; i<menu.childNodes.length; i++)
    		
    		// se l'elemento figlio preso in considerazione è un[*], allora ...
    		if (menu.childNodes[i].nodeName.toLowerCase() == "li") {
    			li = menu.childNodes[i];
    			// ... attribuisce a tale[*] il seguente metodo attivato dall'onclick 
    			li.onclick = function(){
    				var ul_figlio = this.getElementsByTagName("ul")[0];
    					if(ul_figlio.style.display == "block"){
    						ul_figlio.style.display = "none";
    					}
    					else{
    						ul_figlio.style.display = "block";
    					}
    				}
    			}
    		}
    	}
    </script>
    tutto funziona bene eccetto un'anomalia che ho riscontrato per caso: anche i link dei menu figli sono in grado di far collassare i sottomenu (a cui appartengono) all'onclick. pensavo che la funzione abilitante a questa capacità fosse assegnata solo ai[*] del menu padre!

    come risolvo la cosa?

  2. #2
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    insomma nessuno ne sa niente di sto bug????

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.