• User Attivo

    javascript e firefox/natscape

    salve...non ho ancora avuto risposta...per cui ripongo la questione nella speranza di trovare una buona anima che mi dia una soluzione 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 il menu a discesa) con firefox e netscape...che istruzioni devo inserire per far funzionare il menu anche con questi broswer??? Questo è lo 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");

    var links=new Array();
    links[0]=new Array("/","#","#","#","#")
    links[1]=new Array("/","#","#","#")
    links[2]=new Array("/","#","#","#","#","#")

    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+altoi)+" 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+altoi+altoii)+" 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+altoi)+"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+altoi+altoii)+"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 per tutto l'aiuto


  • Super User

    Ciao,
    con Netscape potrebbe essere quasi logico, ma con quale versione di FF da problemi? Con tutte?


  • User Attivo

    firefox 1.5...sai che devo fare????


  • User Attivo

    ho questa installata...ma penso sia con tutte