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

    Posizione menu JavaScript in pagina web

    Salve, spero che questa sia la sezione giusta.
    Mi diletto ormai da tempo nella compilazione di siti web da autodidatta, tuttavia non mi reputo affatto un esperto, piuttosto un dilettante.
    Tempo fa ho implementato un menu in javascript su alcuni siti che gestisco, il menu è di quei tipi "preconfezionati" provvisti dei file Js: exmplmenu_var.js e menu_com.js.
    Con il seguente codice:

    ... <td width="487" align="right" valign="bottom"><script type='text/javascript'>
    function Go(){return}
    </script>
    <script type='text/javascript' src='menu-jav/exmplmenu_var.js'></script> <script type='text/javascript' src='menu-jav/menu_com.js'></script> <noscript><font face=Arial size=2 color="#7E7E7E">Il tuo browser non supporta questo script java</font></noscript></td>
    </tr>
    <tr>
    <td width="150" valign="top" background="index/bg-intest-sin.gif"></td> ...


    inserito tra <body> e </body> ho richiamato il menu nella pagina web in html.
    Poi ho modificato le variabili a mio piacimento nel file "exmplmenu_var.js" in questo modo:

    var NoOffFirstLineMenus=1; // Number of first level items
    var LowBgColor='white'; // Background color when mouse is not over
    var LowSubBgColor='white'; // Background color when mouse is not over on subs
    var HighBgColor='white'; // Background color when mouse is over
    var HighSubBgColor='white'; // Background color when mouse is over on subs
    var FontLowColor='black'; // Font color when mouse is not over
    var FontSubLowColor='black'; // Font color subs when mouse is not over
    var FontHighColor='white'; // Font color when mouse is over
    var FontSubHighColor='white'; // Font color subs when mouse is over
    var BorderColor='black'; // Border color
    var BorderSubColor='black'; // Border color for subs
    var BorderWidth=0; // Border width
    var BorderBtwnElmnts=0; // Border between elements 1 or 0
    var FontFamily="arial" // Font family menu items
    var FontSize=9; // Font size menu items
    var FontBold=1; // Bold menu items 1 or 0
    var FontItalic=0; // Italic menu items 1 or 0
    var MenuTextCentered='left'; // Item text position 'left', 'center' or 'right'
    var MenuCentered='right'; // Menu horizontal position 'left', 'center' or 'right'
    var MenuVerticalCentered='static'; // Menu vertical position 'top', 'middle','bottom' or static
    var ChildOverlap=.2; // horizontal overlap child/ parent
    var ChildVerticalOverlap=.2; // vertical overlap child/ parent
    var StartTop=79; // Menu offset x coordinate
    var StartLeft=10; // Menu offset y coordinate
    var VerCorrect=0; // Multiple frames y correction
    var HorCorrect=0; // Multiple frames x correction
    var LeftPaddng=1; // Left padding
    var TopPaddng=2; // Top padding
    var FirstLineHorizontal=1; // SET TO 1 FOR HORIZONTAL MENU, 0 FOR VERTICAL
    var MenuFramesVertical=1; // Frames in cols or rows 1 or 0
    var DissapearDelay=1000; // delay before menu folds in
    var TakeOverBgColor=1; // Menu frame takes over background color subitem frame
    var FirstLineFrame='navig'; // Frame where first level appears
    var SecLineFrame='space'; // Frame where sub levels appear
    var DocTargetFrame='space'; // Frame where target documents appear
    var TargetLoc=''; // span id for relative positioning
    var HideTop=0; // Hide first level when loading new document 1 or 0
    var MenuWrap=1; // enables/ disables menu wrap 1 or 0
    var RightToLeft=0; // enables/ disables right to left unfold 1 or 0
    var UnfoldsOnClick=0; // Level 1 unfolds onclick/ onmouseover
    var WebMasterCheck=0; // menu tree checking on or off 1 or 0
    var ShowArrow=1; // Uses arrow gifs when 1
    var KeepHilite=1; // Keep selected path highligthed
    var Arrws=['menu-jav/tri.gif',5,10,'menu-jav/tridown.gif',10,5,'menu-jav/trileft.gif',5,10]; // Arrow source, width and height

    function BeforeStart(){return}
    function AfterBuild(){return}
    function BeforeFirstOpen(){return}
    function AfterCloseAll(){return}

    // Menu tree
    // MenuX=new Array(Text to show, Link, background image (optional), number of sub elements, height, width);
    // For rollover images set "Text to show" to: "rollover:Image1.jpg:Image2.jpg"

    Menu1=new Array("rollover:menu-jav/altro-1.gif:menu-jav/altro-2.gif","","",9,25,150);
    Menu1_1=new Array("","","",0,18,150);
    Menu1_2=new Array("rollover:menu-jav/foto-1.gif:menu-jav/foto-2.gif", ....


    In questo modo il menu ha sempre funzionato così come volevo e in particolare la sua posizione all'interno della pagina web è sempre stata in alto a destra dello schermo, così come avevo previsto. Tuttavia, da un po' di tempo attraverso IE9, Chrome o Safari, il menu appare in basso a sinistra dello schermo ed è impossibile usarlo poiche' il ramo che si apre non è visibile (va fuori schermo).
    Ebbene, ho provato a cambiare le variabili relative alla posizione in "exmplmenu_var.js" ma nulla è cambiato, ho provato ad inserire il menu in un DIV con relative caratteristiche di posizione e richiamando il DIV nella variabile TargetLoc, ma niente!

    Qualcuno potrebbe aiutarmi a risolvere il problema?

    Grazie mille.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ciao e benvenuto su html.it
    Cosi diventa difficile se non impossibile aiutarti, prova a mettere un link ad una pagina demo pubblica contenente solo il menu per vedere il tutto in azione.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Ciao e grazie per la veloce risposta.
    Non ho disponibile una pagina demo contenente solo il menu, pertanto se per te va bene puoi dare un'occhiata alla pagina http://www.circolounionepagani1894.it/index-1.html.
    In basso a sinistra c'è la prima riga del menu "Altro":
    in passato, prima che cominciasse a verificarsi il problema, il menu appariva in alto a destra subito sotto l'header in blu.

    Se provi ad andare col mouse su "Altro", il menu si apre ma il suo contenuto non si vede, tuttavia se abbastanza velocemente sali in alto a sinistra con lo scroll si riesce a vedere per qualche secondo l'ultima riga del menu con il link alla pagina "Privacy Policy"

    Spero che queste informazioni siano abbastanza per valutare il problema.
    Resto in attesa di un tuo riscontro.

    Grazie ancora.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    La pagina demo con solo il file in questione era per capire se il problema e da imputarsi allo script o alla pagina che lo contiene.
    La pagina è troppo complessa da studiarsi ti consiglio:
    1) Se hai apportato modifiche alla pagina cerca riportala allo stato precedente al problema
    2) Valuta di passare a jquery che semplificherebbe il tutto oltre a dare maggiore compatibilità con i vari browser (in rete si trovano molte risorse)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    1) non ho apportato alcuna modifica di recente (sono mesi che non modifico la pagina), la cosa strana è che lo stesso script l'ho utilizzato in un altro sito web e anche lì riscontro lo stesso problema, ovvero la posizione del menu è cambiata, ora si trova sempre in basso a sinistra anziché al centro com'era in precedenza;
    2) valuterò la possibilità di passare al jquery.

    Tuttavia, non appena mi sarà possibile nei prossimi giorni, provvederò a pubblicare una pagina demo con solo il file in questione così se vorrai potrai più facilmente esaminare il problema.

    Nel frattempo ti saluto e ti ringrazio per la disponibilità.

  6. #6
    Ho "ripulito" la pagina di cui sopra da tutto il superfluo...
    vedi http://www.circolounionepagani1894.it/index-2.html
    ora si vede solo il menu "Altro".
    Quando si ci va sopra il menu si attiva, ma aprendosi si vede solo l'ultima riga (Privacy Policy) in alto... in pratica non si vedono gli altri 8 livelli del menu.
    E' come se sotto la riga "Altro" la pagina web finisse e il menu ripartisse dall'alto mostrando solo l'ultima riga.
    I file Js a cui lo script rimanda sono: exmplmenu_var1.js e menu_com.js

    Di seguito riporto il codice del primo:
    ---INIZIO exmplmenu_var1.js

    var NoOffFirstLineMenus=1; // Number of first level items
    var LowBgColor='white'; // Background color when mouse is not over
    var LowSubBgColor='white'; // Background color when mouse is not over on subs
    var HighBgColor='white'; // Background color when mouse is over
    var HighSubBgColor='white'; // Background color when mouse is over on subs
    var FontLowColor='black'; // Font color when mouse is not over
    var FontSubLowColor='black'; // Font color subs when mouse is not over
    var FontHighColor='white'; // Font color when mouse is over
    var FontSubHighColor='white'; // Font color subs when mouse is over
    var BorderColor='black'; // Border color
    var BorderSubColor='black'; // Border color for subs
    var BorderWidth=0; // Border width
    var BorderBtwnElmnts=0; // Border between elements 1 or 0
    var FontFamily="arial" // Font family menu items
    var FontSize=9; // Font size menu items
    var FontBold=1; // Bold menu items 1 or 0
    var FontItalic=0; // Italic menu items 1 or 0
    var MenuTextCentered='left'; // Item text position 'left', 'center' or 'right'
    var MenuCentered='right'; // Menu horizontal position 'left', 'center' or 'right'
    var MenuVerticalCentered='static'; // Menu vertical position 'top', 'middle','bottom' or static
    var ChildOverlap=.2; // horizontal overlap child/ parent
    var ChildVerticalOverlap=.2; // vertical overlap child/ parent
    var StartTop=79; // Menu offset x coordinate
    var StartLeft=10; // Menu offset y coordinate
    var VerCorrect=0; // Multiple frames y correction
    var HorCorrect=0; // Multiple frames x correction
    var LeftPaddng=1; // Left padding
    var TopPaddng=2; // Top padding
    var FirstLineHorizontal=1; // SET TO 1 FOR HORIZONTAL MENU, 0 FOR VERTICAL
    var MenuFramesVertical=1; // Frames in cols or rows 1 or 0
    var DissapearDelay=1000; // delay before menu folds in
    var TakeOverBgColor=1; // Menu frame takes over background color subitem frame
    var FirstLineFrame='navig'; // Frame where first level appears
    var SecLineFrame='space'; // Frame where sub levels appear
    var DocTargetFrame='space'; // Frame where target documents appear
    var TargetLoc=''; // span id for relative positioning
    var HideTop=0; // Hide first level when loading new document 1 or 0
    var MenuWrap=1; // enables/ disables menu wrap 1 or 0
    var RightToLeft=0; // enables/ disables right to left unfold 1 or 0
    var UnfoldsOnClick=0; // Level 1 unfolds onclick/ onmouseover
    var WebMasterCheck=0; // menu tree checking on or off 1 or 0
    var ShowArrow=1; // Uses arrow gifs when 1
    var KeepHilite=1; // Keep selected path highligthed
    var Arrws=['menu-jav/tri.gif',5,10,'menu-jav/tridown.gif',10,5,'menu-jav/trileft.gif',5,10]; // Arrow source, width and height

    function BeforeStart(){return}
    function AfterBuild(){return}
    function BeforeFirstOpen(){return}
    function AfterCloseAll(){return}


    // Menu tree
    // MenuX=new Array(Text to show, Link, background image (optional), number of sub elements, height, width);
    // For rollover images set "Text to show" to: "rollover:Image1.jpg:Image2.jpg"

    Menu1=new Array("rollover:menu-jav/altro-1.gif:menu-jav/altro-2.gif","","",9,25,150);
    Menu1_1=new Array("","","",0,18,150);
    Menu1_2=new Array("rollover:menu-jav/foto-1.gif:menu-jav/foto-2.gif","javascript:NewWin=window.open('http://www.circolounionepagani1894.it/visual-foto.html','NWin');window['NewWin'].focus()","",0,25,150);
    Menu1_3=new Array("rollover:menu-jav/avvisi-1.gif:menu-jav/avvisi-2.gif","avvisi.html","",0,25,150);
    Menu1_4=new Array("rollover:menu-jav/guestb-1.gif:menu-jav/guestb-2.gif","http://www.circolounione.altervista.org/guestbook.html","",0,25,150);
    Menu1_5=new Array("rollover:menu-jav/link-1.gif:menu-jav/link-2.gif","link.html","",0,25,150);
    Menu1_6=new Array("rollover:menu-jav/webmail-1.gif:menu-jav/webmail-2.gif","javascript:NewWin=window.open('http://www.circolounionepagani1894.it/webmail.htm','NWin');window['NewWin'].focus()","",0,25,150);
    Menu1_7=new Array("rollover:menu-jav/nlegali-1.gif:menu-jav/nlegali-2.gif","javascript:NewWin=window.open('http://www.circolounionepagani1894.it/notelegali.html','NWin');window['NewWin'].focus()","",0,25,150);
    Menu1_8=new Array("rollover:menu-jav/cright-1.gif:menu-jav/cright-2.gif","javascript:NewWin=window.open('http://www.circolounionepagani1894.it/copyright.html','NWin');window['NewWin'].focus()","",0,25,150);
    Menu1_9=new Array("rollover:menu-jav/ppolicy-1.gif:menu-jav/ppolicy-2.gif","javascript:NewWin=window.open('http://www.circolounionepagani1894.it/privacypolicy.html','NWin');window['NewWin'].focus()","",0,25,150);


    ---FINE exmplmenu_var1.js[COLOR=green]

    Da quello che mi risulta, le variabili che indicano la posizione del menu nella pagina sono quelle colorate in verde.

  7. #7
    Di seguito vi è il codice di menu_com.js:
    ---INIZIO menu_com.js

    var AgntUsr=navigator.userAgent.toLowerCase();
    var DomYes=document.getElementById?1:0;
    var NavYes=AgntUsr.indexOf('mozilla')!=-1&&AgntUsr.indexOf('compatible')==-1?1:0;
    var ExpYes=AgntUsr.indexOf('msie')!=-1?1:0;
    var Opr=AgntUsr.indexOf('opera')!=-1?1:0;
    var Opr6orless=window.opera && navigator.userAgent.search(/opera.[1-6]/i)!=-1 //DynamicDrive.com added code
    var DomNav=DomYes&&NavYes?1:0;
    var DomExp=DomYes&&ExpYes?1:0;
    var Nav4=NavYes&&!DomYes&&document.layers?1:0;
    var Exp4=ExpYes&&!DomYes&&document.all?1:0;
    var PosStrt=(NavYes||ExpYes)&&!Opr6orless?1:0;

    var FrstLoc,ScLoc,DcLoc;
    var ScWinWdth,ScWinHght,FrstWinWdth,FrstWinHght;
    var ScLdAgainWin;
    var FirstColPos,SecColPos,DocColPos;
    var RcrsLvl=0;
    var FrstCreat=1,Loadd=0,Creatd=0,IniFlg,AcrssFrms=1;
    var FrstCntnr=null,CurrntOvr=null,CloseTmr=null;
    var CntrTxt,TxtClose,ImgStr;
    var Ztop=100;
    var ShwFlg=0;
    var M_StrtTp=StartTop,M_StrtLft=StartLeft;
    var StaticPos=0;
    var LftXtra=DomNav&&!Opr?LeftPaddng:0; //Changed for Opera
    var TpXtra=DomNav?TopPaddng:0;
    var M_Hide=Nav4?'hide':'hidden';
    var M_Show=Nav4?'show':'visible';
    var Par=parent.frames[0]&&FirstLineFrame!=SecLineFrame?parent:window;
    var Doc=Par.document;
    var Bod=Doc.body;
    var Trigger=NavYes&&!Opr?Par:Bod; //Changed for Opera

    MenuTextCentered=MenuTextCentered==1||MenuTextCent ered=='center'?'center':MenuTextCentered==0||MenuT extCentered!='right'?'left':'right';
    WbMstrAlrts=["Item not defined: ","Item needs height: ","Item needs width: "];

    if(Trigger.onload)Dummy=Trigger.onload;
    if(DomNav||Opr)Trigger.addEventListener('load',Go, false); //Changed for Opera
    else Trigger.onload=Go;

    function Dummy(){return}

    function CnclSlct(){return false}

    function RePos(){
    FrstWinWdth=ExpYes?FrstLoc.document.body.clientWid th:FrstLoc.innerWidth;
    FrstWinHght=ExpYes?FrstLoc.document.body.clientHei ght:FrstLoc.innerHeight;
    ScWinWdth=ExpYes?ScLoc.document.body.clientWidth:S cLoc.innerWidth;
    ScWinHght=ExpYes?ScLoc.document.body.clientHeight: ScLoc.innerHeight;
    if(MenuCentered=='justify'&&FirstLineHorizontal){
    FrstCntnr.style.width=FrstWinWdth;
    ClcJus();
    var P=FrstCntnr.FrstMbr,W=Menu1[5],i;
    for(i=0;i<NoOffFirstLineMenus;i++){P.style.width=W ;P=P.PrvMbr}}
    StaticPos=-1;
    if(TargetLoc)ClcTrgt();
    if(MenuCentered)ClcLft();
    if(MenuVerticalCentered)ClcTp();
    PosMenu(FrstCntnr,StartTop,StartLeft)}

    function UnLoaded(){
    if(CloseTmr)clearTimeout(CloseTmr);
    Loadd=0; Creatd=0;
    if(HideTop){
    var FCStyle=Nav4?FrstCntnr:FrstCntnr.style;
    FCStyle.visibility=M_Hide}}

    function ReDoWhole(){
    if(ScWinWdth!=ScLoc.innerWidth||ScWinHght!=ScLoc.i nnerHeight||FrstWinWdth!=FrstLoc.innerWidth||FrstW inHght!=FrstLoc.innerHeight)Doc.location.reload()}

    function Check(WMnu,NoOf){
    var i,array,ArrayLoc;
    ArrayLoc=parent.frames[0]?parent.frames[FirstLineFrame]:self;
    for(i=0;i<NoOf;i++){
    array=WMnu+eval(i+1);
    if(!ArrayLoc[array]){WbMstrAlrt(0,array); return false}
    if(i==0){ if(!ArrayLoc[array][4]){WbMstrAlrt(1,array); return false}
    if(!ArrayLoc[array][5]){WbMstrAlrt(2,array); return false}}
    if(ArrayLoc[array][3])if(!Check(array+'_',ArrayLoc[array][3])) return false}
    return true}

    function WbMstrAlrt(No,Xtra){
    return confirm(WbMstrAlrts[No]+Xtra+' ')}

    function Go(){
    Dummy();
    if(Loadd||!PosStrt)return;
    BeforeStart();
    Creatd=0; Loadd=1;
    status='Building menu';
    if(FrstCreat){
    if(FirstLineFrame =="" || !parent.frames[FirstLineFrame]){
    FirstLineFrame=SecLineFrame;
    if(FirstLineFrame =="" || !parent.frames[FirstLineFrame]){
    FirstLineFrame=SecLineFrame=DocTargetFrame;
    if(FirstLineFrame =="" || !parent.frames[FirstLineFrame])FirstLineFrame=SecLineFrame=DocTargetFrame=''}}
    if(SecLineFrame =="" || !parent.frames[SecLineFrame]){
    SecLineFrame=DocTargetFrame;
    if(SecLineFrame =="" || !parent.frames[SecLineFrame])SecLineFrame=DocTargetFrame=FirstLineFrame}
    if(DocTargetFrame =="" || !parent.frames[DocTargetFrame])DocTargetFrame=SecLineFrame;
    if(WebMasterCheck){ if(!Check('Menu',NoOffFirstLineMenus)){status='bui ld aborted';return}}
    FrstLoc=FirstLineFrame!=""?parent.frames[FirstLineFrame]:window;
    ScLoc=SecLineFrame!=""?parent.frames[SecLineFrame]:window;
    DcLoc=DocTargetFrame!=""?parent.frames[DocTargetFrame]:window;
    if (FrstLoc==ScLoc) AcrssFrms=0;
    if (AcrssFrms)FirstLineHorizontal=MenuFramesVertical? 0:1;
    FrstWinWdth=ExpYes?FrstLoc.document.body.clientWid th:FrstLoc.innerWidth;
    FrstWinHght=ExpYes?FrstLoc.document.body.clientHei ght:FrstLoc.innerHeight;
    ScWinWdth=ExpYes?ScLoc.document.body.clientWidth:S cLoc.innerWidth;
    ScWinHght=ExpYes?ScLoc.document.body.clientHeight: ScLoc.innerHeight;
    if(Nav4){ CntrTxt=MenuTextCentered!='left'?"<div align='"+MenuTextCentered+"'>":"";
    TxtClose="</font>"+MenuTextCentered!='left'?"</div>":""}}
    FirstColPos=Nav4?FrstLoc.document:FrstLoc.document .body;
    SecColPos=Nav4?ScLoc.document:ScLoc.document.body;
    DocColPos=Nav4?DcLoc.document:ScLoc.document.body;
    if (TakeOverBgColor)FirstColPos.bgColor=AcrssFrms?Sec ColPos.bgColorocColPos.bgColor;
    if(MenuCentered=='justify'&&FirstLineHorizontal)Cl cJus();
    if(FrstCreat){
    FrstCntnr=CreateMenuStructure('Menu',NoOffFirstLin eMenus);
    FrstCreat=AcrssFrms?0:1}
    else CreateMenuStructureAgain('Menu',NoOffFirstLineMenu s);
    if(TargetLoc)ClcTrgt();
    if(MenuCentered)ClcLft();
    if(MenuVerticalCentered)ClcTp();
    PosMenu(FrstCntnr,StartTop,StartLeft);
    IniFlg=1;
    Initiate();
    Creatd=1;
    if (AcrssFrms) //Added for Opera
    { //Added for Opera
    ScLdAgainWin=ExpYes?ScLoc.document.body:ScLoc;
    ScLdAgainWin.onunload=UnLoaded;
    } //Added for Opera
    Trigger.onresize=Nav4?ReDoWhole:RePos;
    AfterBuild();
    if(MenuVerticalCentered=='static'&&!AcrssFrms)setI nterval('KeepPos()',250);
    status='Menu ready for use'}

    function KeepPos(){
    var TS=ExpYes?FrstLoc.document.body.scrollTop:FrstLoc. pageYOffset;
    if(TS!=StaticPos){
    var FCStyle=Nav4?FrstCntnr:FrstCntnr.style;
    FCStyle.top=FrstCntnr.OrgTop=StartTop+TS;StaticPos =TS}}

    function ClcJus(){
    var a=BorderBtwnElmnts?1:2,b=BorderBtwnElmnts?BorderWi dth:0;
    var Size=Math.round(((FrstWinWdth-a*BorderWidth)/NoOffFirstLineMenus)-b),i,j;
    for(i=1;i<NoOffFirstLineMenus+1;i++){j=eval('Menu' +i);j[5]=Size}
    StartLeft=0}

    function ClcTrgt(){
    var TLoc=Nav4?FrstLoc.document.layers[TargetLoc]omYes?FrstLoc.document.getElementById(TargetLoc):F rstLoc.document.all[TargetLoc];
    StartTop=M_StrtTp;
    StartLeft=M_StrtLft;
    if(DomYes){
    while(TLoc){StartTop+=TLoc.offsetTop;StartLeft+=TL oc.offsetLeft;TLoc=TLoc.offsetParent}}
    else{ StartTop+=Nav4?TLoc.pageY:TLoc.offsetTop;StartLeft +=Nav4?TLoc.pageX:TLoc.offsetLeft}}

    function ClcLft(){
    if(MenuCentered!='left'&&MenuCentered!='justify'){
    var Size=FrstWinWdth-(!Nav4?parseInt(FrstCntnr.style.width):FrstCntnr.c lip.width);
    StartLeft=M_StrtLft;
    StartLeft+=MenuCentered=='right'?Size:Size/2}}

    function ClcTp(){
    if(MenuVerticalCentered!='top'&&MenuVerticalCenter ed!='static'){
    var Size=FrstWinHght-(!Nav4?parseInt(FrstCntnr.style.height):FrstCntnr. clip.height);
    StartTop=M_StrtTp;
    StartTop+=MenuVerticalCentered=='bottom'?Size:Size/2}}

    function PosMenu(CntnrPntr,Tp,Lt){
    var Topi,Lefti,Hori;
    var Cntnr=CntnrPntr;
    var Mmbr=Cntnr.FrstMbr;
    var CntnrStyle=!Nav4?Cntnr.style:Cntnr;
    var MmbrStyle=!Nav4?Mmbr.style:Mmbr;
    var PadL=Mmbr.value.indexOf('<')==-1?LftXtra:0;
    var PadT=Mmbr.value.indexOf('<')==-1?TpXtra:0;
    var MmbrWt=!Nav4?parseInt(MmbrStyle.width)+PadL:MmbrSt yle.clip.width;
    var MmbrHt=!Nav4?parseInt(MmbrStyle.height)+PadT:MmbrS tyle.clip.height;
    var CntnrWt=!Nav4?parseInt(CntnrStyle.width):CntnrStyl e.clip.width;
    var CntnrHt=!Nav4?parseInt(CntnrStyle.height):CntnrSty le.clip.height;
    var SubTp,SubLt;
    RcrsLvl++;
    if (RcrsLvl==1 && AcrssFrms)!MenuFramesVertical?Tp=FrstWinHght-CntnrHt+(Nav4?4:0):Lt=RightToLeft?0:FrstWinWdth-CntnrWt+(Nav4?4:0);
    if (RcrsLvl==2 && AcrssFrms)!MenuFramesVertical?Tp=0:Lt=RightToLeft? ScWinWdth-CntnrWt:0;
    if (RcrsLvl==2 && AcrssFrms){Tp+=VerCorrect;Lt+=HorCorrect}
    CntnrStyle.top=RcrsLvl==1?Tp:0;
    Cntnr.OrgTop=Tp;
    CntnrStyle.left=RcrsLvl==1?Lt:0;
    Cntnr.OrgLeft=Lt;
    if (RcrsLvl==1 && FirstLineHorizontal){
    Hori=1;Lefti=CntnrWt-MmbrWt-2*BorderWidth;Topi=0}
    else{ Hori=Lefti=0;Topi=CntnrHt-MmbrHt-2*BorderWidth}
    while(Mmbr!=null){
    MmbrStyle.left=Lefti+BorderWidth;
    MmbrStyle.top=Topi+BorderWidth;
    if(Nav4)Mmbr.CmdLyr.moveTo(Lefti+BorderWidth,Topi+ BorderWidth);
    if(Mmbr.ChildCntnr){
    if(RightToLeft)ChldCntnrWdth=Nav4?Mmbr.ChildCntnr. clip.widtharseInt(Mmbr.ChildCntnr.style.width);
    if(Hori){ SubTp=Topi+MmbrHt+2*BorderWidth;
    SubLt=RightToLeft?Lefti+MmbrWt-ChldCntnrWdth:Lefti}
    else{ SubLt=RightToLeft?Lefti-ChldCntnrWdth+ChildOverlap*MmbrWt+BorderWidth:Left i+(1-ChildOverlap)*MmbrWt+BorderWidth;
    SubTp=RcrsLvl==1&&AcrssFrms?Topi:Topi+ChildVertica lOverlap*MmbrHt}
    PosMenu(Mmbr.ChildCntnr,SubTp,SubLt)}
    Mmbr=Mmbr.PrvMbr;
    if(Mmbr){ MmbrStyle=!Nav4?Mmbr.style:Mmbr;
    PadL=Mmbr.value.indexOf('<')==-1?LftXtra:0;
    PadT=Mmbr.value.indexOf('<')==-1?TpXtra:0;
    MmbrWt=!Nav4?parseInt(MmbrStyle.width)+PadL:MmbrSt yle.clip.width;
    MmbrHt=!Nav4?parseInt(MmbrStyle.height)+PadT:MmbrS tyle.clip.height;
    Hori?Lefti-=BorderBtwnElmnts?(MmbrWt+BorderWidth)MmbrWt):Topi-=BorderBtwnElmnts?(MmbrHt+BorderWidth)MmbrHt)}}
    RcrsLvl--}

    function Initiate(){
    if(IniFlg){ Init(FrstCntnr);IniFlg=0;
    if(ShwFlg)AfterCloseAll();ShwFlg=0}}

    function Init(CntnrPntr){
    var Mmbr=CntnrPntr.FrstMbr;
    var MCStyle=Nav4?CntnrPntr:CntnrPntr.style;
    RcrsLvl++;
    MCStyle.visibility=RcrsLvl==1?M_Show:M_Hide;
    while(Mmbr!=null){
    if(Mmbr.Hilite){Mmbr.Hilite=0;if(KeepHilite)LowIte m(Mmbr)}
    if(Mmbr.ChildCntnr) Init(Mmbr.ChildCntnr);
    Mmbr=Mmbr.PrvMbr}
    RcrsLvl--}

    function ClearAllChilds(Pntr){
    var CPCCStyle;
    while (Pntr){
    if(Pntr.Hilite){
    Pntr.Hilite=0;
    if(KeepHilite)LowItem(Pntr);
    if(Pntr.ChildCntnr){
    CPCCStyle=Nav4?Pntr.ChildCntnr:Pntr.ChildCntnr.sty le;
    CPCCStyle.visibility=M_Hide;
    ClearAllChilds(Pntr.ChildCntnr.FrstMbr)}
    break}
    Pntr=Pntr.PrvMbr}}

    function GoTo(){
    if(this.LinkTxt){
    status='';
    var HP=Nav4?this.LowLyr:this;
    LowItem(HP);
    this.LinkTxt.indexOf('javascript:')!=-1?eval(this.LinkTxt)cLoc.location.href=this.LinkTxt}}

    function HiliteItem(P){
    if(Nav4){
    if(P.ro)P.document.images[P.rid].src=P.ri2;
    else{ if(P.HiBck)P.bgColor=P.HiBck;
    if(P.value.indexOf('<img')==-1){
    P.document.write(P.Ovalue);
    P.document.close()}}}
    else{ if(P.ro){ var Lc=P.Level==1?FrstLoc:ScLoc;
    Lc.document.images[P.rid].src=P.ri2}
    else{ if(P.HiBck)P.style.backgroundColor=P.HiBck;
    if(P.HiFntClr)P.style.color=P.HiFntClr}}
    P.Hilite=1}

    function LowItem(P){
    if(P.ro){ if(Nav4)P.document.images[P.rid].src=P.ri1;
    else{ var Lc=P.Level==1?FrstLoc:ScLoc;
    Lc.document.images[P.rid].src=P.ri1}}
    else{ if(Nav4){ if(P.LoBck)P.bgColor=P.LoBck;
    if(P.value.indexOf('<img')==-1){
    P.document.write(P.value);
    P.document.close()}}
    else{ if(P.LoBck)P.style.backgroundColor=P.LoBck;
    if(P.LwFntClr)P.style.color=P.LwFntClr}}}


    ---CONTINUA menu_com.js

  8. #8
    ---CONTINUA menu_com.js

    function OpenMenu(){
    if(!Loadd||!Creatd) return;
    var TpScrlld=ExpYes?ScLoc.document.body.scrollTop:ScLo c.pageYOffset;
    var LScrlld=ExpYes?ScLoc.document.body.scrollLeft:ScLo c.pageXOffset;
    var CCnt=Nav4?this.LowLyr.ChildCntnr:this.ChildCntnr;
    var ThisHt=Nav4?this.clip.heightarseInt(this.style.height);
    var ThisWt=Nav4?this.clip.widtharseInt(this.style.width);
    var ThisLft=AcrssFrms&&this.Level==1&&!FirstLineHorizo ntal?0:Nav4?this.Container.leftarseInt(this.Container.style.left);
    var ThisTp=AcrssFrms&&this.Level==1&&FirstLineHorizont al?0:Nav4?this.Container.toparseInt(this.Container.style.top);
    var HP=Nav4?this.LowLyr:this;
    CurrntOvr=this;
    IniFlg=0;
    ClearAllChilds(this.Container.FrstMbr);
    HiliteItem(HP);
    if(CCnt!=null){
    if(!ShwFlg){ShwFlg=1; BeforeFirstOpen()}
    var CCW=Nav4?this.LowLyr.ChildCntnr.clip.widtharseInt(this.ChildCntnr.style.width);
    var CCH=Nav4?this.LowLyr.ChildCntnr.clip.heightarseInt(this.ChildCntnr.style.height);
    var ChCntTL=Nav4?this.LowLyr.ChildCntnr:this.ChildCntn r.style;
    var SubLt=AcrssFrms&&this.Level==1?CCnt.OrgLeft+ThisLf t+LScrlld:CCnt.OrgLeft+ThisLft;
    var SubTp=AcrssFrms&&this.Level==1?CCnt.OrgTop+ThisTp+ TpScrlld:CCnt.OrgTop+ThisTp;
    if(MenuWrap){
    if(RightToLeft){
    if(SubLt<LScrlld)SubLt=this.Level==1?LScrlld:SubLt +(CCW+(1-2*ChildOverlap)*ThisWt);
    if(SubLt+CCW>ScWinWdth+LScrlld)SubLt=ScWinWdth+LSc rlld-CCW}
    else{ if(SubLt+CCW>ScWinWdth+LScrlld)SubLt=this.Level==1 ?ScWinWdth+LScrlld-CCW:SubLt-(CCW+(1-2*ChildOverlap)*ThisWt);
    if(SubLt<LScrlld)SubLt=LScrlld}
    if(SubTp+CCH>TpScrlld+ScWinHght)SubTp=this.Level== 1?SubTp=TpScrlld+ScWinHght-CCH:SubTp-CCH+(1-2*ChildVerticalOverlap)*ThisHt;
    if(SubTp<TpScrlld)SubTp=TpScrlld}
    ChCntTL.top=SubTp;ChCntTL.left=SubLt;ChCntTL.visib ility=M_Show}
    status=this.LinkTxt}

    function OpenMenuClick(){
    if(!Loadd||!Creatd) return;
    var HP=Nav4?this.LowLyr:this;
    CurrntOvr=this;
    IniFlg=0;
    ClearAllChilds(this.Container.FrstMbr);
    HiliteItem(HP);
    status=this.LinkTxt}

    function CloseMenu(){
    if(!Loadd||!Creatd) return;
    if(!KeepHilite){
    var HP=Nav4?this.LowLyr:this;
    LowItem(HP)}
    status='';
    if(this==CurrntOvr){
    IniFlg=1;
    if(CloseTmr)clearTimeout(CloseTmr);
    CloseTmr=setTimeout('Initiate(CurrntOvr)',Dissapea rDelay)}}

    function CntnrSetUp(Wdth,Hght,NoOff){
    var x=RcrsLvl==1?BorderColor:BorderSubColor;
    this.FrstMbr=null;
    this.OrgLeft=this.OrgTop=0;
    if(x)this.bgColor=x;
    if(Nav4){ this.visibility='hide';
    this.resizeTo(Wdth,Hght)}
    else{ if(x)this.style.backgroundColor=x;
    this.style.width=Wdth;
    this.style.height=Hght;
    this.style.fontFamily=FontFamily;
    this.style.fontWeight=FontBold?'bold':'normal';
    this.style.fontStyle=FontItalic?'italic':'normal';
    this.style.fontSize=FontSize+'pt';
    this.style.zIndex=RcrsLvl+Ztop}}

    function MbrSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){
    var Location=RcrsLvl==1?FrstLoc:ScLoc;
    var MemVal=eval(WhatMenu+'[0]');
    var t,T,L,W,H,S;
    var a,b,c,d;
    this.PrvMbr=PrMmbr;
    this.Level=RcrsLvl;
    this.LinkTxt=eval(WhatMenu+'[1]');
    this.Container=MmbrCntnr;
    this.ChildCntnr=null;
    this.Hilite=0;
    this.style.overflow='hidden';
    this.style.cursor=ExpYes&&(this.LinkTxt||(RcrsLvl= =1&&UnfoldsOnClick))?'hand':'default';
    this.ro=0;
    if(MemVal.indexOf('rollover')!=-1){
    this.ro=1;
    this.ri1=MemVal.substring(MemVal.indexOf(':')+1,Me mVal.lastIndexOf(':'));
    this.ri2=MemVal.substring(MemVal.lastIndexOf(':')+ 1,MemVal.length);
    this.rid=WhatMenu+'i';MemVal="[img]"+this.ri1+"[/img]"}
    this.value=MemVal;
    if(RcrsLvl==1){
    a=LowBgColor;
    b=HighBgColor;
    c=FontLowColor;
    d=FontHighColor}
    else{ a=LowSubBgColor;
    b=HighSubBgColor;
    c=FontSubLowColor;
    d=FontSubHighColor}
    this.LoBck=a;
    this.LwFntClr=c;
    this.HiBck=b;
    this.HiFntClr=d;
    this.style.color=this.LwFntClr;
    if(this.LoBck)this.style.backgroundColor=this.LoBc k;
    this.style.textAlign=MenuTextCentered;
    if(eval(WhatMenu+'[2]'))this.style.backgroundImage="url(\'"+eval(WhatMe nu+'[2]')+"\')";
    if(MemVal.indexOf('<')==-1){
    this.style.width=Wdth-LftXtra;
    this.style.height=Hght-TpXtra;
    this.style.paddingLeft=LeftPaddng;
    this.style.paddingTop=TopPaddng}
    else{ this.style.width=Wdth;
    this.style.height=Hght}
    if(MemVal.indexOf('<')==-1&&DomYes){
    t=Location.document.createTextNode(MemVal);
    this.appendChild(t)}
    else this.innerHTML=MemVal;
    if(eval(WhatMenu+'[3]')&&ShowArrow){
    a=RcrsLvl==1&&FirstLineHorizontal?3:RightToLeft?6: 0;
    S=Arrws[a];
    W=Arrws[a+1];
    H=Arrws[a+2];
    T=RcrsLvl==1&&FirstLineHorizontal?Hght-H-2Hght-H)/2;
    L=RightToLeft?2:Wdth-W-2;
    if(DomYes){

    t=Location.document.createElement('img');
    this.appendChild(t);
    t.style.position='absolute';
    t.src=S;

    t.style.width=W;
    t.style.height=H;
    t.style.top=T;
    t.style.left=L}
    else{ MemVal+="<div style='position:absolute; top:"+T+"; left:"+L+"; width:"+W+"; height:"+H+";visibility:inherit'>[img]"+S+"[/img]</div>";
    this.innerHTML=MemVal}}
    if(ExpYes){this.onselectstart=CnclSlct;
    this.onmouseover=RcrsLvl==1&&UnfoldsOnClick?OpenMe nuClick:OpenMenu;
    this.onmouseout=CloseMenu;
    this.onclick=RcrsLvl==1&&UnfoldsOnClick&&eval(What Menu+'[3]')?OpenMenu:GoTo }
    else{ RcrsLvl==1&&UnfoldsOnClick?this.addEventListener(' mouseover',OpenMenuClick,false):this.addEventListe ner('mouseover',OpenMenu,false);
    this.addEventListener('mouseout',CloseMenu,false);
    RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]')?this.addEventListener('click',OpenMenu,false):t his.addEventListener('click',GoTo,false)}}

    function NavMbrSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){
    var a,b,c,d;
    if(RcrsLvl==1){
    a=LowBgColor;
    b=HighBgColor;
    c=FontLowColor;
    d=FontHighColor}
    else { a=LowSubBgColor;
    b=HighSubBgColor;
    c=FontSubLowColor;
    d=FontSubHighColor }
    this.value=eval(WhatMenu+'[0]');
    this.ro=0;
    if(this.value.indexOf('rollover')!=-1){
    this.ro=1;
    this.ri1=this.value.substring(this.value.indexOf(' :')+1,this.value.lastIndexOf(':'));
    this.ri2=this.value.substring(this.value.lastIndex Of(':')+1,this.value.length);
    this.rid=WhatMenu+'i';this.value="[img]"+this.ri1+"[/img]"}
    if(LeftPaddng&&this.value.indexOf('<')==-1&&MenuTextCentered=='left')this.value='&nbsp\;'+t his.value;
    if(FontBold)this.value=this.value.bold();
    if(FontItalic)this.value=this.value.italics();
    this.Ovalue=this.value;
    this.value=this.value.fontcolor(c);
    this.Ovalue=this.Ovalue.fontcolor(d);
    this.value=CntrTxt+"<font face='"+FontFamily+"' point-size='"+FontSize+"'>"+this.value+TxtClose;
    this.Ovalue=CntrTxt+"<font face='"+FontFamily+"' point-size='"+FontSize+"'>"+this.Ovalue+TxtClose;
    this.LoBck=a;
    this.HiBck=b;
    this.ChildCntnr=null;
    this.PrvMbr=PrMmbr;
    this.Hilite=0;
    this.visibility='inherit';
    if(this.LoBck)this.bgColor=this.LoBck;
    this.resizeTo(Wdth,Hght);
    if(!AcrssFrms&&eval(WhatMenu+'[2]'))this.background.src=eval(WhatMenu+'[2]');
    this.document.write(this.value);
    this.document.close();
    this.CmdLyr=new Layer(Wdth,MmbrCntnr);
    this.CmdLyr.Level=RcrsLvl;
    this.CmdLyr.LinkTxt=eval(WhatMenu+'[1]');
    this.CmdLyr.visibility='inherit';
    this.CmdLyr.onmouseover=RcrsLvl==1&&UnfoldsOnClick ?OpenMenuClick:OpenMenu;
    this.CmdLyr.onmouseout=CloseMenu;
    this.CmdLyr.captureEvents(Event.MOUSEUP);
    this.CmdLyr.onmouseup=RcrsLvl==1&&UnfoldsOnClick&& eval(WhatMenu+'[3]')?OpenMenu:GoTo;
    this.CmdLyr.LowLyr=this;
    this.CmdLyr.resizeTo(Wdth,Hght);
    this.CmdLyr.Container=MmbrCntnr;
    if(eval(WhatMenu+'[3]')&&ShowArrow){
    a=RcrsLvl==1&&FirstLineHorizontal?3:RightToLeft?6: 0;
    this.CmdLyr.ImgLyr=new Layer(Arrws[a+1],this.CmdLyr);
    this.CmdLyr.ImgLyr.visibility='inherit';
    this.CmdLyr.ImgLyr.top=RcrsLvl==1&&FirstLineHorizo ntal?Hght-Arrws[a+2]-2Hght-Arrws[a+2])/2;
    this.CmdLyr.ImgLyr.left=RightToLeft?2:Wdth-Arrws[a+1]-2;
    this.CmdLyr.ImgLyr.width=Arrws[a+1];
    this.CmdLyr.ImgLyr.height=Arrws[a+2];
    ImgStr="[img]"+Arrws[a]+"[/img]";
    this.CmdLyr.ImgLyr.document.write(ImgStr);
    this.CmdLyr.ImgLyr.document.close()}}

    function CreateMenuStructure(MName,NumberOf){
    RcrsLvl++;
    var i,NoOffSubs,Mbr,Wdth=0,Hght=0;
    var PrvMmbr=null;
    var WMnu=MName+'1';
    var MenuWidth=eval(WMnu+'[5]');
    var MenuHeight=eval(WMnu+'[4]');
    var Location=RcrsLvl==1?FrstLoc:ScLoc;
    if (RcrsLvl==1&&FirstLineHorizontal){
    for(i=1;i<NumberOf+1;i++){
    WMnu=MName+eval(i);
    Wdth=eval(WMnu+'[5]')?Wdth+eval(WMnu+'[5]'):Wdth+MenuWidth}
    Wdth=BorderBtwnElmnts?Wdth+(NumberOf+1)*BorderWidt h:Wdth+2*BorderWidth;Hght=MenuHeight+2*BorderWidth }
    else{ for(i=1;i<NumberOf+1;i++){
    WMnu=MName+eval(i);
    Hght=eval(WMnu+'[4]')?Hght+eval(WMnu+'[4]'):Hght+MenuHeight}
    Hght=BorderBtwnElmnts?Hght+(NumberOf+1)*BorderWidt h:Hght+2*BorderWidth;Wdth=MenuWidth+2*BorderWidth}
    if(DomYes){
    var MmbrCntnr=Location.document.createElement("div");
    MmbrCntnr.style.position='absolute';
    MmbrCntnr.style.visibility='hidden';
    Location.document.body.appendChild(MmbrCntnr)}
    else{ if(Nav4) var MmbrCntnr=new Layer(Wdth,Location)
    else{ WMnu+='c';
    Location.document.body.insertAdjacentHTML("AfterBe gin","<div id='"+WMnu+"' style='visibility:hidden; position:absolute;'><\/div>");
    var MmbrCntnr=Location.document.all[WMnu]}}
    MmbrCntnr.SetUp=CntnrSetUp;
    MmbrCntnr.SetUp(Wdth,Hght,NumberOf);
    if(Exp4){ MmbrCntnr.InnerString='';
    for(i=1;i<NumberOf+1;i++){
    WMnu=MName+eval(i);
    MmbrCntnr.InnerString+="<div id='"+WMnu+"' style='position:absolute;'><\/div>"}
    MmbrCntnr.innerHTML=MmbrCntnr.InnerString}
    for(i=1;i<NumberOf+1;i++){
    WMnu=MName+eval(i);
    NoOffSubs=eval(WMnu+'[3]');
    Wdth=RcrsLvl==1&&FirstLineHorizontal?eval(WMnu+'[5]')?eval(WMnu+'[5]'):MenuWidth:MenuWidth;
    Hght=RcrsLvl==1&&FirstLineHorizontal?MenuHeight:ev al(WMnu+'[4]')?eval(WMnu+'[4]'):MenuHeight;
    if(DomYes){
    Mbr=Location.document.createElement("div");
    Mbr.style.position='absolute';
    Mbr.style.visibility='inherit';
    MmbrCntnr.appendChild(Mbr)}
    else Mbr=Nav4?new Layer(Wdth,MmbrCntnr):Location.document.all[WMnu];
    Mbr.SetUp=Nav4?NavMbrSetUp:MbrSetUp;
    Mbr.SetUp(MmbrCntnr,PrvMmbr,WMnu,Wdth,Hght);
    if(NoOffSubs) Mbr.ChildCntnr=CreateMenuStructure(WMnu+'_',NoOffS ubs);
    PrvMmbr=Mbr}
    MmbrCntnr.FrstMbr=Mbr;
    RcrsLvl--;
    return(MmbrCntnr)}

    function CreateMenuStructureAgain(MName,NumberOf){
    var i,WMnu,NoOffSubs,PrvMmbr,Mbr=FrstCntnr.FrstMbr;
    RcrsLvl++;
    for(i=NumberOf;i>0;i--){
    WMnu=MName+eval(i);
    NoOffSubs=eval(WMnu+'[3]');
    PrvMmbr=Mbr;
    if(NoOffSubs)Mbr.ChildCntnr=CreateMenuStructure(WM nu+'_',NoOffSubs);
    Mbr=Mbr.PrvMbr}
    RcrsLvl--}


    ---FINE menu_com.js

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ma... non saprei che dirti script complesso e datato (a quasi 10 anni) nonostante ciò sul sito d'origine dynamicdrive.com lo script sembrerebbe funzionare, pertanto opterei per il problema nella pagina.
    Ora decidi tu se vuoi perder tempo a risolvere un problema con uno script obsoleto o se preferisci passa ad jquery http://www.ex-designz.net/template/t....asp?cat_id=14
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.