Nell'utilizzo di un sistema operativo, ognuno di noi ha a che fare con il paradigma delle finestre. Sviluppate a partire dai primi anni 80, rappresentano il mezzo principale di presentazione del contenuto, sia esso un messaggio singolo o un insieme di testi, immagini e controlli utente.
Nel web l'utilizzo di questa interfaccia è stato per molto tempo veicolato da controlli nativi del browser e del sistema operativo, con finestre di dialogo e popup. Il vantaggio di queste soluzioni era quello di essere estremamente facili da realizzare, tuttavia la loro derivazione prettamente desktop le rendeva poco integrate con il resto dell'interfaccia web.
Con l'avvento di librerie grafiche come jQuery UI è stato possibile realizzare le finestre a partire da blocchi di HTML e CSS resi interattivi tramite JavaScript.
Il metodo offerto da UI si appoggia sulle interazioni draggable e resizable per garantire le funzionalità tipiche di una finestra in ambiente desktop, e permette la personalizzazione grafica grazie alla completa compatibilità con i temi di Themeroller. Per richiamarlo basta lanciarlo sull'elemento che vogliamo usare come finestra:
$('#finestra').dialog();
Di default il widget verrà aperto automaticamente e realizzerà una finestra con una barra del titolo, un'icona per la chiusura e cinque maniglie di ridimensionamento (i quattro lati più l'angolo in basso a destra). Quando la finestra viene ridimensionata, il contenuto in eccesso è nascosto e appaiono automaticamente delle barre di scorrimento. Ecco un esempio.
Essendo basato su due interazioni di UI, resizable e draggable, .dialog() condivide con loro molte opzioni, tuttavia ne presenta alcune specifiche per la sua personalizzazione:
true)false e successivamente mostrarlo con il metodo .dialog('open');null){})$('#finestra').dialog({
buttons : {
"Annulla": function() { $(this).dialog("close"); }
[...]
}
});
'')alert;true)false queste opzioni, la finestra diventerà rispettivamente fissa oppure non ridimensionabile. Questa opzione potrebbe essere utile per rendere meno pesante in termini di risorse la visualizzazione di piccoli messaggi come gli avvisi, che non necessitano di essere ridimensionati o spostati;false)alert() e confirm() ed è molto utile per forzare l'utente secondo un determinato percorso di interazione. L'uso dell'opzione crea un elemento semitrasparente di overlay grande com il documento HTML fra l'interfaccia e la finestra;'')title dell'elemento a cui applicheremo il widget.Per una lista completa delle opzioni fate riferimento alla documentazione ufficiale mentre in questa pagina sono disponibili degli esempi pratici.
Come per gli altri widget è possibile interagire con dialog anche attraverso funzioni di callback associabili a specifici eventi che si verificano durante l'interazione fra controllo ed utente:
false, la finestra resterà aperta. Potrebbe essere utile nel caso si voglia verificare che l'utente abbia compilato dei campi di input obbligatori presenti nella finestra;Oltre ai metodi comuni a tutti i widget, dialog mette a disposizione alcuni interessanti metodi per interagire con le finestre direttamente via script:
true se la finestra è visibile, altrimenti restituisce false.
PhantomJS, headless browser per test con JavascriptIl tool ideale per realizzare, da terminale, operazioni in remoto su... |
Creare e leggere QR Code in JavaScriptApplicazioni 'QR Code enabled' per il Web e per il mobile,... |
Jquery UI Map: web-mapping con Google Maps e jQueryUn plugin di jQuery UI per intefacciare applicaizoni Web/mobile con... |
Scrollorama e Scrolldeck, slideshow d'effetto con jQueryPlugin jQuery per ottenere Slideshow con diversi effetti di scrolling |
jCanvas, un primo semplice graficoAlla scoperta della libreria jCanvas, per semplificare il disegno e... |
Guida Node.jsIl framework che permette di per usare V8, l'interprete JavaScript... |
Canvas, guida ai frameworkCanvas, tra gli elementi di HTML5 è forse quello di maggior impatto.... |
Guida Javascript: tecniche avanzateUna guida dal taglio pratico per approfondire la programmazione a... |
Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.
Iscriviti alla newsletter
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso JQuery e Ajax per Webmaster03 Luglio 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |