Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Menu ad albero... effetto fisarmonica!

    Salve a tutti,

    proprio dalle pagine di HTML.it ho scaricato un menu ad albero in Javascript molto semplice e personalizzabile (e soprattutto compatibile con tutti i browser in circolazione).

    L'unico suo difetto è che risente molto della pesantezza della pagina creando un fastidiosissimo effetto a fisarmonica (è tutto aperto ad inizio caricamento e rimane aperto fino a caricamento pagina avvenuto). Siccome non vorrei rinunciarci mi chiedevo se c'è un modo all'interno del Javascript di render invisibile il menù fino a caricamento pagina ultimato.
    Insomma una soluzione potrebbe essere sincronizzare il caricamento o l'apparizione del menu solo a pagina caricata.

    Qualcuno sa come fare?!

    Per maggiori dettagli, di seguito posto il codice.
    Grazie a tutti in anticipo.
    Jotto
    codice:
    <style type="text/css">
    <!-- 
    
    ul { 
    	list-style: disc;
    	margin:0;padding:0 0em 0 1.5em;
    }
    li.menu { list-style: square; }
    -->
    </style>
    <script type="text/javascript">
    <!--
    function mmenu(mID) {
    	var menu = document.getElementById(mID);
    	var display = menu.style.display;
    	menu.style.display = (display == "block") ? "none" : "block";
    	menu.parentNode.style.listStyleImage = (display == "block") ? "url(cartellachiusa.gif)" : "url(cartellaaperta.gif)";
    }
    
    window.onload = function() {
    	var uls = document.getElementsByTagName("ul");
    	for (i=0;i<uls.length;i++) {
    		if(uls[i].className=="submenu")uls[i].style.display = "none";
    	}
    }
    //-->
    </script>
    <TR>
    <TD class="manuzza" width=190 height=15 vAlign=top bgcolor="#EDF2FC" onmouseover="this.style.backgroundColor='#DAE4FA'"   onmouseout="this.style.backgroundColor='#EDF2FC'" >
    <ul>
    <li class="menu">ACER
    <ul class="submenu" id="submenu-1">[*]AMD[*]INTEL[/list]
    [/list]
    </TR>
    <TR>
    <TD class="manuzza" width=190 vAlign=top bgcolor="#EDF2FC" onmouseover="this.style.backgroundColor='#DAE4FA'"   onmouseout="this.style.backgroundColor='#EDF2FC'" >
    <ul>
    <li class="menu">ASUS
    <ul class="submenu" id="submenu-2">[*]AMD[*]INTEL[/list]
    [/list]
     </TR>
     <TR>

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: Menu ad albero... effetto fisarmonica!

    aggiungi una linea allo style... e togli la gestione dell'onload
    codice:
    <style type="text/css">
    <!-- 
    
    ul { 
    	list-style: disc;
    	margin:0;padding:0 0em 0 1.5em;
    }
    li.menu { list-style: square; }
    ul.submenu { display: none; }
    -->
    </style>
    <script type="text/javascript">
    <!--
    function mmenu(mID) {
    	var menu = document.getElementById(mID);
    	var display = menu.style.display;
    	menu.style.display = (display == "block") ? "none" : "block";
    	menu.parentNode.style.listStyleImage = (display == "block") ? "url(cartellachiusa.gif)" : "url(cartellaaperta.gif)";
    }
    
    //-->
    </script>
    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3

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.