Visualizzazione dei risultati da 1 a 7 su 7

Discussione: script menu

  1. #1

    script menu

    Questo è lo script del mio menù
    vorrei inserire la proprietà setTimeout...per togliere uno spiacevole effetto refresh!
    Il problema è che il browser mi da errore....perchè?
    (La proprietà e colorata di rosso)

    <SCRIPT LANGUAGE="Javascript" TYPE="text/javascript">
    if(document.all)
    {
    ns6=0; ns=0; ie=1;
    prelayer='document.all.';
    showlayer='.style.visibility="visible"';
    hidelayer='.style.visibility="hidden"';
    }


    if(document.layers)
    {
    ns6=0; ns=1; ie=0;
    prelayer='document.layers.';
    showlayer='.visibility="show"';
    hidelayer='.visibility="hide"';
    }


    if(document.getElementById && navigator.appName=="Netscape")
    {
    ns6=1; ns=0; ie=0;
    prelayer = 'document.getElementById("';
    showlayer = '").style.visibility= "visible"';
    hidelayer = '").style.visibility= "hidden"';
    }


    function layerdisplay(lname,ftis)
    {
    if (!ftis)
    {
    eval(prelayer+lname+hidelayer); }
    else
    {
    eval(prelayer+lname+showlayer); }
    setTimeout("layerdisplay('"+lname+"','"+ftis+"')", 300)
    }
    </SCRIPT>

    <body onLoad="layerdisplay()">

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ci sono varie cose che non mi piacciono in quel pezzetto di script.
    Primo che non e` generale: tra i browser moderni funziona solo con Netscape (tralasciando tutta una serie di browser molto importanti ad iniziare da Mozilla).

    Secondo che viene usata la funzione (deprecata) eval(): andrebbe sostituita mediante l'uso corretto di if.

    Comunque mi pare che nel setTimeout usi gli apici in maniera impropria: passi delle stringhe, leggi dei valori (che poi passi come stringa).

    Vedi queste modifiche (NON sistemo gli eval() ).

    codice:
    var prelayer, showlayer, hidelayer;
    if(document.all) {
      ns6=0; ns=0; ie=1;
      prelayer='document.all.';
      showlayer='.style.visibility="visible"';
      hidelayer='.style.visibility="hidden"';
    } else if(document.layers){
      ns6=0; ns=1; ie=0;
      prelayer='document.layers.';
      showlayer='.visibility="show"';
      hidelayer='.visibility="hide"';
    } else if(document.getElementById) {
      ns6=1; ns=0; ie=0;
      prelayer = 'document.getElementById("';
      showlayer = '").style.visibility= "visible"';
      hidelayer = '").style.visibility= "hidden"';
    } else {
      alert(" script non funzionante");
    }
    
    function layerdisplay(lname,ftis){
      if (!ftis) {
        eval(prelayer+lname+hidelayer);
      } else {
        eval(prelayer+lname+showlayer); 
      }
      setTimeout("layerdisplay("+lname+","+ftis+")",300)
    }
    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    scusa amico...come avrai capito di javascript ne capisco poco!
    Ti ringrazio intanto perchè sei l'unico che in una settimana mi da una risposta!
    Ma fammi ben capire che cazzus devo fare...
    il tuo script mi da errore!
    Ho cercato sul web...ma trovo solo menu in dhtml o che non fanno al mio caso!

    Prova a copiarti il codice della mia pagina...visualizzalo con il browser...prova a scorrere il layer che ti faccio vedere sulla gif in allegato e così capirai il problema (c'è un effetto refresh fastidioso)!

    Se ti sembra una cosa noiosa o non c'hai voglia, fanne pure a meno...ti ringrazio comunque!!


    <html>
    <head>
    <title>NATO</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <SCRIPT language=JavaScript>
    <!--
    function nuova(url,nome,largo,alto,ridim,xpos,ypos) {
    var format_string;
    format_string="width="+largo+",height="+alto+",scr ollbars=yes,resizable="+(ridim=='yes' ? "yes" : "no")+",status=yes,location=no,screenX="+xpos+",sc reenY="+ypos+",left="+xpos+",top="+ypos+",toolbar= no";searchWin =window.open(url,nome,format_string);
    }

    function MM_swapImgRestore() { //v3.0
    var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    }

    function MM_preloadImages() { //v3.0
    var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    }

    function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
    if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }
    //-->
    </SCRIPT>

    <STYLE type=text/css>#num01 {
    LEFT: 10px; VISIBILITY: hidden; POSITION: absolute; TOP: 10px
    }
    </STYLE>

    <STYLE type=text/css>#num02 {
    LEFT: 20px; VISIBILITY: hidden; POSITION: absolute; TOP: 20px
    }
    </STYLE>

    <STYLE type=text/css>#num03 {
    LEFT: 30px; VISIBILITY: hidden; POSITION: absolute; TOP: 30px
    }
    </STYLE>

    <STYLE type=text/css>#num04 {
    LEFT: 40px; VISIBILITY: hidden; POSITION: absolute; TOP: 40px
    }
    </STYLE>

    <SCRIPT LANGUAGE="Javascript" TYPE="text/javascript">
    if(document.all)
    {
    ns6=0; ns=0; ie=1;
    prelayer='document.all.';
    showlayer='.style.visibility="visible"';
    hidelayer='.style.visibility="hidden"';
    }


    if(document.layers)
    {
    ns6=0; ns=1; ie=0;
    prelayer='document.layers.';
    showlayer='.visibility="show"';
    hidelayer='.visibility="hide"';
    }


    if(document.getElementById && navigator.appName=="Netscape")
    {
    ns6=1; ns=0; ie=0;
    prelayer = 'document.getElementById("';
    showlayer = '").style.visibility= "visible"';
    hidelayer = '").style.visibility= "hidden"';
    }


    function layerdisplay(lname,ftis)
    {
    if (!ftis)
    {
    eval(prelayer+lname+hidelayer); }
    else
    {
    eval(prelayer+lname+showlayer); }
    }
    </SCRIPT>








    <script language="JavaScript">
    <!--
    function MM_reloadPage(init) { //reloads the window if Nav4 resized
    if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
    else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
    }
    MM_reloadPage(true);

    function MM_findObj(n, d) { //v4.0
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && document.getElementById) x=document.getElementById(n); return x;
    }

    function MM_nbGroup(event, grpName) { //v6.0
    var i,img,nbArr,args=MM_nbGroup.arguments;
    if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
    img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
    if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
    nbArr[nbArr.length] = img;
    for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
    if (!img.MM_up) img.MM_up = img.src;
    img.src = img.MM_dn = args[i+1];
    nbArr[nbArr.length] = img;
    } }
    } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
    if (!img.MM_up) img.MM_up = img.src;
    img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
    nbArr[nbArr.length] = img;
    }
    } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
    img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
    } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
    for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
    if (!img.MM_up) img.MM_up = img.src;
    img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
    nbArr[nbArr.length] = img;
    } }
    }
    //-->
    </script>
    </head>

    <body bgcolor="#FFFFFF" text="#000000" topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0" marginwidth="0" marginheight="0" onLoad="MM_preloadImages('img/puls.gif','img/puls_multimedia.gif','img/puls2.gif')">

    <table width="760" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td>[img]img/intestazione.jpg[/img]</td>
    </tr>
    </table>
    <table width="760" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="125" bgcolor="00315A">[img]img/puls_about_cior.gif[/img]
    <div id=num01 onmouseover="javascript:layerdisplay('num01',true) "" style="position:absolute; width:127px; height:115px; z-index:1; left: 0; top: 75; background-color: #0066FF; layer-background-color: #0066FF; border: 1px none #000000" onmouseout="javascript:layerdisplay('num01',false) "></div>
    </td>
    <td bgcolor="#000000">[img]img/0.gif[/img]</td>
    <td width="125" bgcolor="00315A">[img]img/puls_activities.gif[/img]
    <div id=num02 onMouseOver="javascript:layerdisplay('num02',true) " style="position:absolute; width:127px; z-index:1; left: 127; top: 75; background-color: #00315A; layer-background-color: 00315A; border: 1px none #000000; visibility: visible" onMouseOut="javascript:layerdisplay('num02',false) ">
    <table width="127" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td>[img]img/puls.gif[/img]</td>
    </tr>
    <tr>
    <td bgcolor="#000000">[img]img/0.gif[/img]</td>
    </tr>
    <tr>
    <td bgcolor="#0099FF">[img]img/0.gif[/img]</td>
    </tr>
    <tr>
    <td bgcolor="#000000">[img]img/0.gif[/img]</td>
    </tr>
    <tr>
    <td onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','img/puls.gif',1)">[img]img/puls1.gif[/img]</td>
    </tr>
    <tr>
    <td bgcolor="#000000">[img]img/0.gif[/img]</td>
    </tr>
    <tr>
    <td>[img]img/partership.gif[/img]
    <div id="num03" style="position:absolute; left:117px; top:58px; width:127px; z-index:2; visibility: visible"
    onMouseOver="javascript:layerdisplay('num03',true) ;MM_swapImage('Image21','','img/puls.gif',1)"
    onMouseOut="javascript:layerdisplay('num03',false) ;MM_swapImgRestore()">
    <table width="127" border="0" cellspacing="0" cellpadding="0">
    <tr><td>[img]img/puls.gif[/img]</td></tr>
    <tr><td bgcolor="#000000">[img]img/0.gif[/img]</td></tr>
    <tr><td bgcolor="#0099FF">[img]img/0.gif[/img]</td></tr>
    <tr><td bgcolor="#000000">[img]img/0.gif[/img]</td></tr>
    <tr><td>[img]img/puls1.gif[/img]</td></tr>
    <tr><td bgcolor="#000000">[img]img/0.gif[/img]</td></tr>
    <tr><td>[img]img/partership.gif[/img]</td></tr>
    <tr><td bgcolor="#000000">[img]img/0.gif[/img]</td></tr>
    <tr><td>[img]img/puls2.gif[/img]</td></tr>
    <tr><td bgcolor="#000000">[img]img/0.gif[/img]</td></tr>
    <tr><td>[img]img/puls3.gif[/img]</td></tr>
    </table>
    </div>
    </td>
    </tr>
    <tr>
    <td bgcolor="#000000">[img]img/0.gif[/img]</td>
    </tr>
    <tr>
    <td>[img]img/puls2.gif[/img]</td>
    </tr>
    <tr>
    <td bgcolor="#000000">[img]img/0.gif[/img]</td>
    </tr>
    <tr>
    <td>[img]img/puls3.gif[/img]</td>
    </tr>
    </table>
    </div>
    </td>
    <td bgcolor="#000000">[img]img/0.gif[/img]</td>
    <td width="125" bgcolor="00315A">[img]img/puls_news.gif[/img]</td>
    <td bgcolor="#000000">[img]img/0.gif[/img]</td>
    <td width="125" bgcolor="00315A">[img]img/puls_issues.gif[/img]</td>
    <td bgcolor="#000000">[img]img/0.gif[/img]</td>
    <td width="125" bgcolor="00315A">[img]img/puls_members.gif[/img]</td>
    <td bgcolor="#000000">[img]img/0.gif[/img]</td>
    <td width="125" bgcolor="00315A">[img]img/puls_multimedia.gif[/img]</td>
    </tr>
    </table>



    </body>
    </html>

  4. #4
    Raga se è troppo un casino darmi una mano...sapete almeno dove posso trovare un menu simile?

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non e` facile andar dietro ad una pagina cosi`, con una serie di istruzioni JS introdotte da MacroMedia (che notoriamente sono in codice criptico).

    Se nel codice che ti ho dato c'e` un errore, se mi dici quale (o cosa risponde il browser, con la riga d'errore) posso vedere di correggerlo, ma tutta la pagina non riesco a guardarla.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    la java console di netscape7 mi da questo errore

    Error: num03 is not defined
    Source File: file:///C:/Documents%20and%20Settings/Administrator.WILLY/Desktop/CVS/www.nato.it/index.html
    Line: 76

    num03 è il nome del submenu a tendina (vedi gif 3d precedente)

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non so quale sia la riga 76 (non riesco a tenere il conto con tutti gli acapo introdotti dal forum).

    Comunque prova a togliere la prima riga che ti ho dato io (quella che inizia con var): probabilmente interferisce con qualche altra parte dello script, e lascia le altre correzioni.

    Comunque la correzione piu` importante e` togliere gli apici singoli dal setTimeout.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.