• User Attivo

    problemi con firefox e netscape

    salve...ho trovato questo script in javascript per un menu..fatte le opportune modifiche l'ho inserito nella pagina web che sto creando...funziona bene in opera e explorer, ma non visualizza bene ( non si apre a discesa) con firefox e netscape...che istruzioni devo inserire per far funzionare il menu anche con questi broswer??? allego scripting:

     <script>
    var left=930; // --- Margine sx delle voci principali/del menu
    var top=350; // --- Margine top della prima voce principale/del menu
    var alto=20; // --- Altezza dei livelli
    var largoprinc=160; // --- Larghezza livelli delle voci principali
    var largosec=150; // --- Larghezza livelli delle voci secondarie
    var deltaleft=45; // --- Margine sx aggiunto all valore di "left" per indentare le voci secondarie
    var ronpri="#FFFFC4"; // Colore al MouseOver
    var roffpri=""; // Colore di default
    var ronsec="#C6FFFF"; // Colore al MouseOver
    var roffsec=""; // Colore di default
    var voci=new Array();
        voci[0]=new Array("San Marino","Storia","Leggenda","Castelli","Il Governo")
        voci[1]=new Array("Monumenti","Palazzo dei Reggenti","Basilica","Torri");
        voci[2]=new Array("Corpi Militari","Guardia Di Rocca","Milizia","Guardia del Concilio","Balestrieri","Gendarmeria");
    
    /* Questo array contiene invece i links che saranno aperti dalle singole voci dei sottomenu.
     * Per questo menu non e' possibile specificare un link per la voce principale (che quindi va lasciata a "/") in quanto il click apre/chiude il menu */
    var links=new Array();
        links[0]=new Array("/","#","#","#","#")
        links[1]=new Array("/","#","#","#")
        links[2]=new Array("/","#","#","#","#","#")
    
    /* Questo array contiene i target dei links
     * E' possibile scegliere fra "self" e "new" (o qualsiasi altro valore)
     * "self" aprira' il link nella stessa finestra d'origine, "new" o qualsiasi altro valore aprira' una nuova finestra del browser
     * come un TARGET="_new" messo in un normale link A 
     * - - - - - - - - - - - - - - - - -
     * In una prossima revisione del menu sara' possibile aprire anche delle pop-up */
    var targets=new Array();
        targets[0]=new Array("new","self","self","self","self")
        targets[1]=new Array("new","self","self","self")
        targets[2]=new Array("new","self","self","self","self","self")
    
    var nn=document.layers?true:false
    var w3c=document.getElementById?true:false
    var last=-1;
    
    if (nn)
        {
        for (var i = 0 ; i<voci.length; i++)
            {
            document.write("<layer onmouseover='rollonpri(this);show("+i+",0);' onmouseout='rolloutpri(this);unshow()' name='pr"+i+"' left="+left+" top="+(top+alto*i)+" width="+largoprinc+" height="+alto+" clip='0,0,"+largoprinc+" ,"+(alto)+"'  bgColor='"+roffpri+"' class='princ' ><a href='javascript:DDMenuApri("+i+");' onmouseover='rollonpri(this);show("+i+",0);return true;' onmouseout='rolloutpri(this);unshow();return true;' >"+voci*[0]+"</a></layer>");
            for (var ii = 1 ; ii < voci*.length ; ii++ )
                document.write("<layer onmouseover='rollonsec(this);show("+i+","+ii+")' onmouseout='rolloutsec(this);unshow();' name='sc"+i+"_"+ii+"' left="+(left+deltaleft)+" visibility='hidden' top="+(top+alto*i+alto*ii)+" width="+largosec+" height="+alto+" clip='0,0,"+largosec+" ,"+(alto)+"' bgColor='"+roffsec+"' class='sec' > - <a href='javascript:vai("+i+","+ii+")' onmouseover='rollonsec(this);show("+i+","+ii+");return true;' onmouseout='rolloutsec(this);unshow();return true;' >"+voci**+"</a></layer>");
            }
        }
    else
        {
        for (var i = 0 ; i<voci.length; i++)
            {
            document.write("<div id='pr"+i+"' onmouseover='rollonpri(this);show("+i+",0)' onmouseout='rolloutpri(this)' style='position : absolute ; left:"+left+"px ; top:"+(top+alto*i)+"px ; width:"+largoprinc+"px ;height:"+alto+"px ; cursor:pointer ; cursor:hand ' class='princ' onclick='DDMenuApri("+i+")'>"+voci*[0]+"</div>");
            for (var ii = 1 ; ii < voci*.length ; ii++ )
                document.write("<div id='sc"+i+"_"+ii+"' onmouseover='rollonsec(this);show("+i+","+ii+")' onmouseout='rolloutsec(this);unshow()' onclick='vai("+i+","+ii+")' style='position : absolute ; left : "+(left+deltaleft)+"px  ;visibility : hidden  ; top : "+(top+alto*i+alto*ii)+"px ; width : "+largosec+"px ; height : "+alto+"px ; cursor:pointer ; cursor:hand ; ' class='sec' >"+voci**+"</div>");
            }
        }
    
    var beg=nn?"document.layers":w3c?"document.getElementById(":"document.all";
    var mid=nn?"":w3c?").style":".style";
    
    function DDMenuApri(quale)
        {
        for (var i=0 ; i<voci.length ; i++ )
            {
            eval(beg+"['pr'+"+i+"]"+mid+".top=eval(top+alto*"+i+"); ")
            for (var ii = 1 ; ii < voci*.length ; ii++)
                eval(beg+"['sc'+"+i+"+'_'+"+ii+"]"+mid+".visibility='hidden'; ")
            }
        if (last != quale)
            {
            if ( quale++ < voci.length)
                for (var i=quale ; i<voci.length ; i++ )
                    eval(beg+"['pr'+i]"+mid+".top=eval(top+alto*(voci[quale-1].length+i))");
            quale--;
            for (var i = 1 ; i < voci[quale].length ; i++)
                eval(beg+"['sc'+"+quale+"+'_'+"+i+"]"+mid+".visibility='visible'    ");
            last=quale;
            }
        else
            last=-1
        }
    
    function rollonpri(lev){nn?lev.bgColor=ronpri:(document.all)?lev.style.background=ronpri:lev.style.background=ronpri;}
    function rolloutpri(lev){nn?lev.bgColor=roffpri:(document.all)?lev.style.background=roffpri:lev.style.background=roffpri;}
    function rollonsec(lev){nn?lev.bgColor=ronsec:(document.all)?lev.style.background=ronsec:lev.style.background=ronsec;}
    function rolloutsec(lev){nn?lev.bgColor=roffsec:(document.all)?lev.style.background=roffsec:lev.style.background=roffsec;}
    function show(idx,idy){window.status=wst[idx][idy];}
    function unshow(){window.status=window.defaultStatus;}
    function vai(idx,idy){targets[idx][idy]=="self"?self.location.href=links[idx][idy]:window.open(links[idx][idy]);}
    </script>
    

    grazie
    Stefana