| Passo 6: finestra modale |
|
|
| Articoli tecnici - Sviluppo & sistema | |||
| Scritto da Riccardo Zorn | |||
| Martedì 28 Ottobre 2008 11:54 | |||
|
Prima di poter usare la nostra message box dobbiamo renderla modale. Una finestra modale è una finestra che non restituisce il controllo all'applicazione finché non viene chiusa dall'utente. E' un tipico esempio la domanda "Procedo" con i bottoni "Si" e "No". La funzione attende che la finestra di dialogo venga chiusa per procedere. Nel nostro caso abbiamo dovuto definire le funzioni di callback per ottenere questo risultato. Però dobbiamo anche impedire che l'utente interagisca con il resto della pagina finché non ci ha dato una risposta. Per farlo, il modo più simpatico è creare un layer grande quanto la pagina da mettere dietro alla nostra message box. in questo modo i clic saranno impossibili.
Il layer ha il background dello stesso colore della message box ed è semi trasparente. Dovremo posizionarlo tramite la funzione di creazione _msgBox() this.divMsgModal = document.getElementById("msgModalDiv")metto il layer modale fullscreen; innerHeight&width non sono disponibili su IE. var cwidth = (window.innerWidth>0?window.innerWidth: document.body.offsetWidth) Per ottenere la trasparenza, uso un comando diverso per IE e firefox: opacity: 0.30; /* css2 */ Oltre a posizionare il layer devo anche centrare il box del messaggio: this.divMsgBox.style.left = parseInt(cwidth)/2-parseInt(this.layerWidth)/2+'px';
I file descritti in questo articolo si possono scaricare dall'introduzione
|
|||
| Ultimo aggiornamento Martedì 28 Ottobre 2008 14:31 |


