Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Pagina con frames

  1. #1
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870

    Pagina con frames

    Ciao.

    Ho una pagina divisa in due frame, uno a sinistra, l'altro a destra.

    Sul frame di sinistra ho caricato un menu verticale js con cinque voci, ognuna divisa in tre voci secondarie; sul frame di destra faccio visualizzare quanto richiamato dal menu del frame sinistro.

    Succede però che quando cambio voce dal menu del frame di sinistra, nel frame di destra rimane sempre memorizzata l'ultima chiamata eseguita con il menu del frame di sinistra.

    Sarebbe possibile, una volta cambiato cioè cliccando su un altro pulsante dal menu del frame di sinistra far aggiornare anche con una pagina bianca il contenuto del frame di destra?.

    Spero d'essermi spiegato.
    Grazie

  2. #2
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    up

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

    Re: Pagina con frames

    Originariamente inviato da fraude
    ...

    Sarebbe possibile, una volta cambiato cioè cliccando su un altro pulsante dal menu del frame di sinistra far aggiornare anche con una pagina bianca il contenuto del frame di destra?.

    Spero d'essermi spiegato.
    Grazie
    Non proprio... rimane ignoto come agisca il tuo menu... script con effetti simili ma fìunzionamenti diversi ne esistono a iosa... senza vedere quello che utilizzi non e' possibile alcun suggerimento.

    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

  4. #4
    Utente di HTML.it L'avatar di fraude
    Registrato dal
    Feb 2004
    Messaggi
    2,870
    Se il problema è solo questo, ecco i codici delle pagine: menu.js
    codice:
    //-------check del tipo di browser utilizzato--------------
    var ie=(navigator.appName=="Microsoft Internet Explorer")?true:false;
    var version = navigator.appVersion.split(';').toString().split(" ").toString().split(',')[4];
    version=version.split('.')[0];
    var wt=ie?version:null;
    var isie5=((wt)>=5 && ie)?true:false;
    var isie4=((wt <5 && wt >=4) && ie)?true:false;
    var isNS4=(document.layers)?true:false;
    var isNS6=document.getElementById && (navigator.appName=="Netscape")?true:false;
    
    //alert( 'ie:' + ie );
    //alert( 'version:' + version );
    //alert( 'wt:' + ie );
    //alert( 'isie4:' + isie4 );
    //alert( 'isie5:' + isie5 );
    //alert( 'isNS4:' + isNS4 );
    //alert( 'isNS6:' + isNS6 );
    
    
    mm=(isNS4)?'show':'visible';
    nn=(isNS4)?'hide':'hidden';
    
    //----------------calcolo della coordinata y di ogni livello------------------------------
    ak=new Array();
    for(df=0; df<pra.length; df++){
     //-----------------------------
     if(df==0){
      ak[0]=0;
     }
     if(df>0 && pra[df][1]>pra[df-1][1]){
      ak[df]=ak[df-1];
     }
     else if(df>0 && pra[df][1]==pra[df-1][1]){
      ak[df]=ak[df-1]+21;
     }
     else if(df>0 && pra[df][1]<pra[df-1][1]){
      for(po=df-1; po>=0; po--){
        if(pra[df][1]==pra[po][1]){
         ak[df]=ak[po]+21;
         break;
        }
      }
     }
     pra[df][5]=ak[df]
    }
    
    //-------------------------------------------------------------------
    
    //----------classifica---------------
    ae=new Array();
    ae_n=0;
    for(d=0; d<pra.length; d++){
     if(d>0 && pra[d][1]=='0'){
      ae_n=ae_n+1;
     }
     ae[d]=""+"z"+ae_n
     pra[d][6]=ae[d];
    }
    
    //--------mostra livelli--------------------------------------------
    az=new Array();
    for(df=0; df<pra.length; df++){
     az[df]='';
     if(pra[df][2]=="c"){
      for(yf=0; yf<pra.length; yf++){
        if((yf>df && pra[yf][6]==pra[df][6]) && pra[yf][1]==(eval(pra[df][1])+20)){
         az[df]=''+az[df]+yf+',';
        }
        if(yf>df && pra[yf][1]<=pra[df][1]){
           break;
        }
       }
       pra[df][3]=az[df].substring(0,az[df].length-1)
      }
    }
    
    //--------preload immagine aperta/chiusa------------------
    imm0=new Image();
    imm0.src="images/freccia1_close.gif"//"images/cart_ch.gif";
    imm1=new Image();
    imm1.src="images/freccia1_open.gif"//"images/cart_op.gif";
    imm2=new Image();
    imm2.src="images/void.gif"//"images/link.gif";
    
    
    //------------------------------------------------------------------
    // livello contenitore per tutto il menu
    document.write('<div id="princ" style="position:relative;height:'+((pra.length*21)+top_pra)+';width:'+width_pra+';top:'+top_pra+';left:'+left_pra+'"></div>')
    
    //----------------scrivi menu----------------------
    lev="";
    function wrt(){
       for(i=0; i<pra.length; i++){
         id_pra=""+"a"+i;
         img_name=""+"v"+i;
         target=( pra[i][4] == null ? '_self' : pra[i][4] );
    
         if(pra[i][1]>0)
          {
           if(pra[i][2]=="c"){
           lev+='<div id=\"'+id_pra+'\" style="position:absolute;visibility:'+nn+'; top:'+pra[i][5]+';left:'+left_pra+';height:20;width:'+width_pra+';background-color:\'#BFCEEE\';padding-left:'+(pra[i][1]/10*5)+'">[img]'+imm0.src+'[/img]<font class=subLev>'+pra[i][0]+'</font></div>';
          }
          else if(pra[i][2]=="ll"){
    	lev+='<div id=\"'+id_pra+'\" style="position:absolute;visibility:'+mm+'; top:'+(pra[i][5]+top_pra)+';left:'+left_pra+'; height:20; width:'+width_pra+';background-color:\'#BFCEEE\';">[img]'+imm2.src+'[/img] '+pra[i][0]+'</div>';
          }
          else{
           lev+='<div id=\"'+id_pra+'\" style="position:absolute;visibility:'+nn+'; top:'+pra[i][5]+';left:'+left_pra+'; height:20;width:'+width_pra+';padding-left:'+(pra[i][1]/10*5)+'">[img]'+imm2.src+'[/img]'+pra[i][0]+'</div>';       
          }
        }
        else{
         if(pra[i][2]=="c"){
          lev+='<div id=\"'+id_pra+'\" style="position:absolute;visibility:'+mm+';top:'+(pra[i][5]+top_pra)+';left:'+left_pra+'; height:20; width:'+width_pra+';background-color:\'#042F93\';">[img]'+imm0.src+'[/img]<font class=firstLev> '+pra[i][0]+'</font></div>';    
         }
         else if(pra[i][2]=="ll"){
          lev+='<div id=\"'+id_pra+'\" style="position:absolute;visibility:'+mm+'; top:'+(pra[i][5]+top_pra)+';left:'+left_pra+'; height:20; width:'+width_pra+';background-color:\'#042F93\';">[img]'+imm2.src+'[/img] '+pra[i][0]+'</div>';
         }
        }
       }
      if(isie4)
      	document.all.princ.innerHTML=lev;
      else
        if (isie5 || isNS6)
          {
      	document.getElementById("princ").innerHTML=lev
          }
      else
            
      	with (document.layers.princ.document)
    		{
    		open();
    		write(lev);
    		close();
    		}
    }
    
    var arpars = new Array();
    function goapri(x,y,z,check)
    	{
    	if (check==0)
    		if (arpars.length>0)
    			{
    			apri(arpars[0],arpars[1],arpars[2]);
    			arpars=[x,y,z];
    			apri(arpars[0],arpars[1],arpars[2]);
    			}
    		else
    			{
    			arpars=[x,y,z];
    			apri(x,y,z)
    			}
    	else
    		apri(x,y,z)
    	}
    
    //---------------------
    function apri(id,idm,jj){
     qq=id.split(',')
     wh=(isNS4)?document.layers['princ'].layers[jj].document:document;
     wt=(wh.images[idm].src==imm0.src)?imm1.src:imm0.src;
     if(wt==imm1.src){
       
       for(j=0; j<qq.length; j++){
         iddd=""+"a"+qq[j]
         snf=(isie4)?document.all[iddd].style:(isNS4)?document.layers['princ'].layers[iddd]:document.getElementById(iddd).style;
         snf.visibility=mm;
       }
       //-----------
       ql=pra.length-qq[0]
       snn=(isie4)?document.all[jj].style:(isNS4)?document.layers['princ'].layers[jj]:document.getElementById(jj).style;
       ftop=parseInt(snn.top)
       for(k=0; k<ql; k++){
         iddd=""+"a"+(k+parseInt(qq[0]))
         snf=(isie4)?document.all[iddd].style:(isNS4)?document.layers['princ'].layers[iddd]:document.getElementById(iddd).style;
         
         if(snf.visibility==mm){
          ftop=ftop+21;
          snf.top=ftop
         }
       }
       //-----------
     }
     else{
      ql=pra.length-qq[0]
      snn=(isie4)?document.all[jj].style:(isNS4)?document.layers['princ'].layers[jj]:document.getElementById(jj).style;
      ftop=parseInt(snn.top)
      for(j=0; j<ql; j++){
         iddd=""+"a"+(j+parseInt(qq[0]))
         snf=(isie4)?document.all[iddd].style:(isNS4)?document.layers['princ'].layers[iddd]:document.getElementById(iddd).style;
         if(pra[j+parseInt(qq[0])][1]>pra[parseInt(qq[0])-1][1]){
          snf.visibility=nn;
         }
         if(snf.visibility==mm){
          ftop=ftop+21;
          snf.top=ftop
         }
    
         if(pra[j+parseInt(qq[0])][2]=="c"){
          gg=""+"v"+(j+parseInt(qq[0]))
          if(isNS4){
           we=""+"a"+(j+parseInt(qq[0]))
           wj=document.layers['princ'].layers[we].document.images[gg].src=imm0.src;
          }
          else{
            wh.images[gg].src=imm0.src;
          }
         }
       }
     }
     wh.images[idm].src=wt
    }
    
    //onload=wrt
    
    var originalOnload = document.body.onload;
    document.body.onload = redefinedOnload;
    
    function redefinedOnload()
      {
       if ( originalOnload != null )
        {
         originalOnload();
        }
       wrt();
      }
    datimenu.js
    codice:
    // -- Parametri di visualizzazione
    top_pra=0; // Distanza dal margine superiore della pagina
    left_pra=0; // Distanza dal margine sinistro della pagina
    width_pra=152; // Larghezza dei livelli
    //------------------
    
    // -- Destinazione dei links
    
    
    // -- Parametri della pop-up per apertura dei links in pop.up
    //
    // 
    
      
    function popup(pagina,larga,alta)
       {
       fin=window.open(pagina,"","top=100,left=100,width="+larga+",height="+alta);
       }
    //---------------------------------------
    
    // -- NON MODIFICARE LE DUE ISTRUZIONI SEGUENTI!!!
    c=-1;
    pra=new Array();
    // -- ------------------------------------------------------------
    
    /*#############################################
     QUI VENGONO IMPOSTATE LE VOCI DI MENU E RELATIVI LINKS
     seguendo l'esempio già impostato non è difficile realizzare il proprio menu.
     L'indentazione è utile e consigliabile per meglio seguire anche a colpo d'occhio 
     la disposizione dei livelli. 
     Ogni voce di qualsiasi livello è composta dalla parte iniziale pra[c=c+1]=new Array(
     Di seguito vengono passati 4 o 5 parametri di seguito descritti:
    	 - voce ossia il testo che deve fisicamente comparire nel menu
    	 - profondità del livello espressa con un numero BEN DEFINITO:
    		 0 -> primo livello
    		 20 -> secondo livello
    		 40 -> terzo livello
    		 60 -> quarto livello
    	- tipologia, ossia:
    		c -> cartella, indica che ci sono dei sottolivelli
    		l -> link è un link normale, solo testo
    		ll -> è un link che può essere interposto tra cartelle prendendone lo stesso aspetto
    	- link, solo per tipologia 'l' e 'll', indica il link a cui punta questa voce. Può essere un url, oppure un richiamo alla 
    		funzione che apre un url in una finestra pop-up come nell'esempio dell'ultima voce.
    	- target, il target del link ( opzionale )
    	la formattazione di testi e colori avviene con il file menu.css.
    
    */
    
    pra[c=c+1]=new Array("Chi Siamo",0,"c");
    pra[c=c+1]=new Array("Missione",20,"l","chi_siamo/missione.asp", "Iframe" );
    pra[c=c+1]=new Array("Attività",20,"l","chi_siamo/attivita.asp", "Iframe" );
    pra[c=c+1]=new Array("Codice Etico",20,"l","etico.asp", "Iframe" );
    pra[c=c+1]=new Array("Struttura Organizzativa",20,"l","chi_siamo/struttura.asp", "Iframe" );
    
    
    pra[c=c+1]=new Array("Area Utenti Abilitati",0,"ll","pass/logon.asp", "Iframe");
    
    pra[c=c+1]=new Array("Controllo",0,"c");
    pra[c=c+1]=new Array("Documentazione",20,"l","chi_siamo/lavori.asp", "Iframe" );
    pra[c=c+1]=new Array("Attività",20,"l","chi_siamo/lavori.asp", "Iframe" );
    
    pra[c=c+1]=new Array("Cartografia",20,"l","http://paginaweb.com/" );
    
    pra[c=c+1]=new Array("Eventi",20,"l","menucontr1.asp", "Iframe");
    
    pra[c=c+1]=new Array("Misure",20,"l","menucontr2.asp", "Iframe");
    
    // ----------------------------------------------------------------------------
    I due js li richiamo così nelle pagine htm:
    codice:
    <script language="JavaScript" src="script/datimenu.js"></script>
    <script language="JavaScript" src="script/menu.js"></script>
    Grazie.

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.