www.calshop.biz

Ultimi Inserimenti

WOL: accendere un PC da un'altro con il Wake-On-Lan
Chi ha una rete di PC, casalinga o aziendale che sia, ha sicuramente provato più di una volta la seccatura di dover alzarsi e andare in un'altra stanza ad accendere un PC per prelevare qualche file via rete. Quando questa esigenza/seccatura diventa frequente, si pagherebbe pur di aver un sistema per accendere i PC "a comando", standosene seduti.
Messaggi istantanei in LAN Windows con NET SEND
Ormai i programmi per la messaggistica istantanea tra PC in rete o in Internet sono moltissimi, basti citare il famosissimo ICQ, e hanno molte funzionalità, ora anche conferenze audio e video.
 Smiles
 Traduzioni
 Informazione
 

Hot Link

Balloon Hunter
Arco, frecce e palloncini
L'uomo Cannone
Calcola la forza e l'angolo di tiro e il gioco è fatto.
Gioca con i puzzle
Sobics è un delizioso puzzle game online, completamente
realizzato in Flash.
Game Maker 6
Creiamo i nostri videogiochi
Palline da girare
GateGears
Cheats & Tips
a cura di Fabrizio Miceli
Giochi in Flash Gratis
Tutta l'emozione del Gioco Online
Animazioni Gratis
Stupende animazioni gratis!

 

 

Manuali Gratis: 2005 - 2006  -

Manuali e GuideTrucchi per PCDisegni da colorare e da stampareGif AnimateFlash Games
Manuali e GuideTrucchi per PCDisegniGif AnimateFlash Games
Google
 
Web www.calshop.biz
Manuali e Guide Gratis on line @ calshop.biz ... the only one!

Menu orizzontale dinamico in Dhtml

1 | 2 | 3 | 4

Premessa
In questo articolo analizzeremo il modo in cui è possibile realizzare un menu orizzontale dinamico, per intenderci, sullo stile delle applicazioni Windows, i famosi menu File - Modifica - Visualizza - ecc...
Premetto che lo scopo finale non è quello di fornire lo script "bello e pronto da servire in tavola", ma solo di imparare a ragionare sulla tecnica che si utilizza per realizzare una simile "applicazione". il menu in questione, infatti, è compatibile solo con Microsoft Internet Explorer 5.0 e versioni superiori (credo anche con la versione 4.0).
Tuttavia, alla fine dell'articolo mostrerò anche la funzione "tradotta" per Netscape Navigator. Non mi sono preoccupato di fornire al menù particolari stilizzazioni, è comunque sufficiente una discreta conoscenza dei Fogli di stile Css per renderlo più aggraziato ed accattivante.

Concettualizzazione del problema
La realizzazione del menu in questione prevede l'utilizzo di codice Html per creare le voci principali (sempre visibili) e le voci dei sottomenu (inizialmente nascoste, visibili solo al passaggio del mouse sulla rispettiva voce principale).
Grazie al codice Css possiamo lavorare sulla visibilità dei sottomenu e sul loro posizionamento all'interno della pagina (nonchè all'estetica dell'intero menu, cosa che conto sarà vostra cura fare). Ovviamente dinamizzeremo l'applicazione con Javascript. Per maggior chiarezza divideremo in tre distinti file i suddetti codice.

Il file menu.htm è il file di output su cui costruiremo fisicamente il menu. In questo stesso file includeremo i richiami ai file esterni (di seguito descritti nelle loro funzionalità), onde effettuare eventuali modifiche, sia stilistiche che funzionali, agendo una sola volta per trovare il menu aggiornato in tutte le pagine che lo conterranno.
Il file menu.css si preoccupa di impostare lo stile generico degli elementi Html del menu, nonchè di collaborare con Javascript per far fronte alle funzionalità pratiche.
Il file menu.js contiene il codice standard per il funzionamento del menu.

Adesso al lavoro!

Costruzione fisica del menu: il file menu.htm
Creiamo un nuovo file Html e salviamolo come menu.htm; inseriamo tra i Tag e i richiami verso i file Css e Javascript, le cui funzionalità sono state descritte nel paragrafo precedente:
 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="it">
 
    <title>Menu orizzontale dinamico in Dhtml</title>
    <link rel="stylesheet" type="text/css" href="menu.css">
    <script language="javascript" type="text/javascript"
    src="menu.js"></script>
 </head>
...

Costruiamo adesso la struttura fisica delle voci principali del menu:
 


<div style="background-color: #EEEEEE;
border-bottom: Solid 1px #000000;">
   <a href="javascript:void(0)" onMouseOver="Apri(0)"
   id="principale">MENU # 1</a> |
   <a href="javascript:void(0)" onMouseOver="Apri(1)" 
   id="principale">MENU # 2</a> |
   <a href="javascript:void(0)" onMouseOver="Apri(2)" 
   id="principale">MENU # 3</a>
</div>

Impostiamo un layer di tipo

con una qualsiasi stilizzazione (potete assegnargli una classe, è lo stesso) in cui inseriamo i link rappresentanti le voci principali del menu; ad ognuno di questi assegniamo un identificativo di tipo id con valore principale: questo identificativo ci servirà in seguito quando analizzeremo lo script; all'evento mouse-over lanciamo la funzione Apri() con un incremento numerico come parametro.

E' importante sottolineare che l'esempio di menu in questione prevede necessariamente un layout di pagina posizionato staticamente sul margine sinistro della pagina. E' inoltre opportuno impostare la distanza dal margine superiore e dal margine sinistro della pagina a zero (0) pixel: in funzione di eventuali modifiche di questi valori, bisognerà modificare le distanze ed il posizionamento degli elementi Html nei codici Css e Javascript, onde rendere il tutto uniforme.

Supponiamo quindi, per praticità, che i margini di tutte le pagine che conterranno il menu siano impostati a zero (0) pixel:

...
<body topmargin="0" leftmargin="0">
...

In un qualsiasi punto della pagina dobbiamo inserire un altro layer di tipo

posizionato dinamicamente, al cui evento mouse-over deve corrispondere al funzione Chiudi() che esamineremo in seguito; ecco il codice:
 
<div style="position: Absolute; width: 
100%; height: 20%;" onMouseOver="Chiudi()"> </div>

Costruiamo adesso i sottomenu:
 

<!-- MENU # 1 -->
<div id="sottomenu" style="left: 1px;">
   <a href="pagina1.html">Pagina # 1</a><br>
   <a href="pagina2.html">Pagina # 2</a><br>
   <a href="pagina3.html">Pagina # 3</a><br>
</div>

<!-- MENU # 2 -->
<div id="sottomenu" style="left: 69px;">
   <a href="pagina4.html">Pagina # 4</a><br>
   <a href="pagina5.html">Pagina # 5</a><br>
   <a href="pagina6.html">Pagina # 6</a><br>
</div>

<!-- MENU # 3 -->
<div id="sottomenu" style="left: 138px;">
   <a href="pagina7.html">Pagina # 7</a><br>
   <a href="pagina8.html">Pagina # 8</a><br>
   <a href="pagina9.html">Pagina # 9</a><br>
</div>

La stilizzazione del Tag

è in qualche modo indipendente dal codice Css necessario per la stilizzazione dinamica del menu; tuttavia è necessario stabilire delle dimensioni ed un carattere standard, onde poter stabilire misure e distanze per l'accorpamento dei vari elementi Html del menu.

La classe ID #principale si limita a stilizzare i link del menu principale, ovvero le voci di menu al cui passaggio del mouse si attiva il relativo sottomenu.

La classe ID #sottomenu, invece, è necessaria per il posizionamento assoluto dei sottomenu e per impostarli nascosti al caricamento, quindi, le istruzioni veramente necessarie per compiere tali operazioni sono solo

 

#sottomenu {
   position: Absolute;
   visibility: Hidden;
   width: 120px;
   padding: 1px;
   border: Solid 1px #000000;
}

mentre il resto è del tutto personalizzabile ed ampliabile.

Dinamizzazione Javascript: il file menu.js
Come già accennato nelle prime righe di questo Articolo, andiamo ad analizzare nello specifico le istruzioni necessarie per il funzionamento del menu con Microsoft Internet Explorer; in seguito analizzeremo la "traduzione" valida per Netscape Navigator.

Il codice completo e commentato è riportato di seguito:



var quanti = 3; // Imposta il numero di menu e di sottomenu
var i;

// Il parametro "conta" serve per indicizzare i menu principali
function Apri(conta)
{
   if(document.all) // Identifichiamo
                             // Microsoft Internet Explorer
   {
      var elemento = event.toElement;
      var mostra = document.all.sottomenu[conta];      
          mostra.style.visibility = "visible";         
          mostra.style.top = 15;      
             for (i=0; i<quanti; i++)
             {
                aperto = document.all.sottomenu[i];
                menu = document.all.principale[i];             
                   if (i != conta)
                   {
                      aperto.style.visibility = "hidden";
                   }
             }
   }
}

// Con la stessa filosofia impostiamo lo stile 
//"nascosto" sul sottomenu aperto
function Chiudi()
{
   for (i=0; i<quanti; i++)
   {
      if (document.all)
      {
         document.all.sottomenu[i].style.visibility = "hidden";
         menu = document.all.principale[i];
       }
   }
}

I commenti al codice appena presentato lasciano poco spazio ad ulteriori commenti, le routine sono semplici e formattate in maniera chiara e leggibile, ma funziona solo con Microsoft Internet Explorer; come predetto, nel prossimo paragrafo integreremo le routine appena presentate con le funzioni valide per Netscape Navigator.

"Traduzione" dello script valida per Netscape Navigator
La routine di seguito presentata va integrata nella funzione Apri(), utile per l'apertura del menu


if (document.layers)
{
   mostra = document.layers[x+1];
   mostra.visibility = "show";
   mostra.top= 15;
      for (i=1; i<=quanti; i++)
      {
          aperto = document.layers[i];
             if (i != (x + 1))
             { 
                 aperto.visibility = "hide";
             }
      }
}

Di seguito, invece, presento la routine di chiusura del menu valida per Netscape Navigator


if (document.layers)
{
    document.layers[i+1].visibility = "hide";
}

Pagina :
1 | 2 | 3 | 4

Restyling e Aggiornamenti della sezione manuali e guide a cura di: Fabrizio Miceli

Trucchi PC e Guide
Tips su sistemi operativi, registro di configurazione, sicurezza, internet, navigazione, word ed excel.
 
Guide e sulla configurazione, installazione ed utilizzo di, periferiche, sistemi operativi ecc...

   

Ultime novità! Ultime novità nel portale del tutto gratis e on line
@ calshop.biz ... the only one!


News

Il Forum di calshop

Link in evidenza

"Google Talk", la nuova chat che comunica senza tastiera
La nuova sfida di Google si chiama "Google Talk" un nuovissimo sistema che consentirà agli utenti di chattare con una serie di strumenti che vanno al di là della semplice tastiera. Particolarmente sviluppato sarà il supporto della voce per parlare con gli altri utenti collegati, grazie a  microfono e cuffie. Sia Microsoft che Yahoo offrono il supporto per la voce.

News in pillole:  • Maradona e Pelè • Il pericolo viene dalla posta • Chi sale e chi scende • Immagini in ordine • I tesori nascosti di Ebay • I più cliccati di agosto!  [[[ Virus Zotob: scatta l'allarme rosso ]]]

Installa Yahoo! Messenger with Voice:

Giochi Gratis | Software Gratis  |

Ultimi Manuali on line
Le chicche di calshop! Wake on lan
Le chicche di calshop! NET SEND
Le chicche di calshop! Mandaci il tuo manuale

In Evidenza

 

 
.

Copyright  © 1998-2005 Calshop.biz. Ideazione, Progettazione e Realizzazione a cura di Luigi Palamara e Bruna Italia Massara Contatti

Il Network: • NewsLab • Reggio Calabria • Area Grecanica • Roccaforte del Greco • Italia Umts • Tutto Gratis • Dune Buggy



Le chicche di calshop! Tutta la posta di Gmail sul PC. Il servizio webmail di Google può essere gestito anche con Outlook Express. Ecco le giuste Impostazioni.