Newsgroup: it.comp.lang.javascript
Titolo: Menu in pagina con frame

Vi riporto il file leggimi di un Javascript scaricato da 
HTML.IT
Come posso fare (come dice alla fine del documento) ad usare tale codice in
una pagina con frame?
Dove devo inserire la parte
javascript:parent.NOME_DEL_FRAME.location='
http://www.html.it
'
all'interno dello script?
Grazie.
Nutcracker
(cut)
Lo script utilizza sia un file .js esterno, sia del codice javascript da
inserire tra i tag <head> della pagina.
Operazione fondamentale è, innanzitutto, richiamare il file esterno
all'interno del documento. Sempre tra i tag <head>, quindi, inseriamo questo
codice:
-------------------------
<script language="JavaScript" src="navcond.js"></script>
-------------------------
Adesso possiamo inserire il codice javascript che ci permetterà di
modificare numerosi parametri del menù:
-------------------------
<script language="JavaScript">
var myNavBar1 = new NavBar(0);
var dhtmlMenu;
dhtmlMenu = new NavBarMenu(100, 120);
dhtmlMenu.addItem(new NavBarMenuItem("Home", "
http://www.html.it
"));
myNavBar1.addMenu(dhtmlMenu);
dhtmlMenu = new NavBarMenu(100, 120);
dhtmlMenu.addItem(new NavBarMenuItem("Forum", "
http://forum.html.it
"));
dhtmlMenu.addItem(new NavBarMenuItem("Off Topic",
"
http://forum.html.it/forum/forumdisplay.php?forumid=7
"));
myNavBar1.addMenu(dhtmlMenu);
dhtmlMenu = new NavBarMenu(110, 120);
dhtmlMenu.addItem(new NavBarMenuItem("Linux", "
http://linux.html.it/
"));
dhtmlMenu.addItem(new NavBarMenuItem("Articoli",
"
http://linux.html.it/archivioarticoli.asp
"));
dhtmlMenu.addItem(new NavBarMenuItem("News dal web",
"
http://linux.html.it/archivionews.asp
"));
dhtmlMenu.addItem(new NavBarMenuItem("Download",
"
http://download.html.it/lista_os.asp?os=linux
"));
myNavBar1.addMenu(dhtmlMenu);
dhtmlMenu = new NavBarMenu(100, 150);
dhtmlMenu.addItem(new NavBarMenuItem("Macintosh", "
http://mac.html.it/
"));
dhtmlMenu.addItem(new NavBarMenuItem("Articoli",
"
http://mac.html.it/archivioarticoli.asp
"));
dhtmlMenu.addItem(new NavBarMenuItem("Download",
"
http://download.html.it/lista_os.asp?os=Mac-Os
"));
myNavBar1.addMenu(dhtmlMenu);
myNavBar1.setColors("#000000", "#00CCCC", "#ff0000", "#000000", "#ffffff",
"#000000", "#00cccc", "#ffcccc", "#000080")
//myNavBar1.setAlign("center")
var fullWidth;
function init() {
  fullWidth = getWindowWidth()
    - (isMinNS4 && getWindowHeight() < getPageHeight() ? 16 : 0);
  myNavBar1.resize(fullWidth);
  myNavBar1.create();
  myNavBar1.setzIndex(2);
}
</script>
-------------------------
Vediamo in dettaglio come personalizzare il nostro menù:
dhtmlMenu = new NavBarMenu(100, 120);
ogni nuova cella del menù deve iniziare con questa riga. il primo numero
rappresenta la lunghezza delle celle principali (in pixel) mentre il secondo
numero indica la lunghezza delle celle secondarie (quelle che si aprono
quando ci posizioniamo sulle principali per intenderci).
dhtmlMenu.addItem(new NavBarMenuItem("Linux", "
http://linux.html.it/
"));
dhtmlMenu.addItem(new NavBarMenuItem("Articoli",
"
http://linux.html.it/archivioarticoli.asp
"));
dhtmlMenu.addItem(new NavBarMenuItem("News dal web",
"
http://linux.html.it/archivionews.asp
"));
ogni stringa rapprensenta le voci presenti nel menù. la prima riga indica la
voce nella cella principale (quella subito visibile). le altre due righe,
invece, indicano le voci nei sottomenù. per aggiungere nuove voci ai
sottomenù basterà incollare nuove stringhe simili a quelle analizzate
adesso.
myNavBar1.setColors("#000000", "#00CCCC", "#ff0000", "#000000", "#ffffff",
"#000000",               "#00cccc", "#ffcccc", "#000080")
questa è la riga di codice che ci permette di impostare tutti i colori nel
menù. vediamo con ordine i valori da modificare.
1° valore= colore del bordo del menù
2° valore= colore del testo delle celle principali nello stato normale
3° valore= colore delle celle principali nello stato normale
4° valore= colore del testo delle celle principali nello stato onMouseOver
5° valore= colore delle celle principali nello stato onMouseOver
6° valore= colore del testo dei sottomenù
7° valore= colore delle celle secondarie (sottomenù) nello stato normale
8° valore= colore del testo dei sottomenù nello stato onMouseOver
9° valore= colore delle celle secondarie nello stato onMouseOver
//myNavBar1.setAlign("center")
come si può notare questa stringa è resa "inattiva" dai due slash. nel caso
volessimo centrare il menù basterà cancellare questi due caratteri e tutte
le celle si posizioneranno al centro della pagina. oltre al comando "center"
sono accettati anche "left" e "right".
Altre modifiche a questo codice non sono necessarie. Si può però agire sul
javascript esterno per determinare il tipo e la grandezza del font
utilizzati nel menù. basterà aprire il file navcond.js con il notepad e
modificare queste stringhe (si trovano a metà circa del documento):
this.hdrFontFamily="Verdana,Helvetica,sans-serif"
indica il tipo di font delle celle principali
this.hdrFontWeight="bold"
indica il tipo di stile del font delle celle principali (in questo caso
grassetto)
this.hdrFontSize="8pt"
la grandezza del testo delle celle principali
this.itmFontFamily="Tahoma,Arial,Helvetica,sans-serif"
il font utilizzato per i sottomenù
this.itmFontWeight="bold"
il tipo di stile del font dei sottomenù
 this.itmFontSize="8pt"
la grandezza del testo dei sottomenù
Infine è possibile spostare il menù in una determinata posizione. sempre nel
file esterno (poco dopo l'inizio) si trova questa stringa:
function NavBar(width){this.x=0;this.y=0;
modificando tutti e due i valori (che ora sono a 0) possiamo modificare le
coordinate del menù. il primo valore indica la distanza dal bordo sinistro
(in pixel) mentre il secondo rappresenta la distanza dal margine superiore.
A questo punto non rimane altro che inserire il gestore di eventi "init()"
nel <body> della pagina:
-------------------------
<body onload="init()">
-------------------------
Ultimo consiglio: nel caso il nostro sito utilizzasse i frames, basterà far
precedere all'indirizzo del link questa stringa:
-------------------------
javascript:parent.NOME_DEL_FRAME.location='
http://www.html.it
'
-------------------------
Altre modifiche allo script non sono richieste.

Dovendo visualizzare immagini da una pagina con link, vorrei poter
aggiungere un commento o un titolo, alla fotografia visualizzata,
proveniente dalla pagina precedente.
E' possibile fare ciò con un javascript?
Grazie a chi mi potrà suggerire il codice.
          Chemiker
Ich Cheìmiker!
Chemiker gut!