Abbonati al feed o alla newsletter,
ovviamente è gratis.

jQuery - Semplici panelli spostabili

Questa è una traduzione libera (quindi con qualche modifica) di un interessante articolo che spiega come creare delle finestre spostabili e utilizzabili per visualizzare dei messaggi, dei forms, delle preferenze o del contenuto più complesso.

L'articolo completo lo trovate su Floating dialog windows

Avete anche la possibilità di testare il tutto tramite questa completa demo.

Questo tutorial è molto interessante perché mostra delle funzionalità di jQuery come creare dei floating dialog, avvisi per l'utente o anche solo del contenuto per ricordare eventi, inviare email, inserire una opinione etc.

Prima di tutto abbiamo bisogno di alcune librerie esterne che non sono vitali concettualmente per il tutorial ma solo al fine di utilizzare o manipolare l'esempio, queste sono:

jQuery Form Plugin
jQuery Interface Plugin

Nell'esempio verrà spiegato come creare un form per salvare le preferenze.

Prima di tutto, dobbiamo creare il form per salvare le impostazioni. Associamo #layer1_form come attributo id del form (id = 'layer1_form') e creiamo una serie di componenti per simulare le preferenze:
<form id="layer1_form" method="post" action="save_settings.php"> 
    Display Settings<br /> 
    <input type="radio" name="display" checked="checked" 
value="Default" /> 
    Default<br /> 
    <input type="radio" name="display" value="Option A" /> 
    Option A<br /> 
    <input type="radio" name="display" value="Option B" /> 
    Option B<br /><br /> 
    Autosave settings<br /> 
    <input type="radio" name="autosave" checked="checked" 
value="Enabled" /> 
    Enabled<br /> 
    <input type="radio" name="autosave" value="Disabled" /> 
    Disabled<br /><br /> 
 
    <input type="submit" name="submit" value="Save" /> 
</form> 
nel nostro esempio abbiamo due impostazioni, una per visualizzare delle impostazioni e l'altra per eseguire l'auto salvataggio delle preferenze.

Comunque, visto che dobbiamo visualizzare il form in una dialog mobile dobbiamo identificare il layer che risulterà essere il contenitore spostabile ad esempio con #layer1 (questo vuol dire associare il suo id a 'layer1').

Bisogna a queso punto definire un handle delle finestra dove sarà possibile premere per eseguire lo spostamento, in modo analogo definiamo un id #layer1_handle.

Il passo successivo consiste nel rendere disponibile un pulsante per la chiusura, l'esempio mostra un testo però è facilmente modificabile con una immagine o con un pulsante. In questo caso il link viene marcato e identificato con #close.

Di seguito il codice per creare il form sopra descritto:
<div id="layer1"> 
    <div id="layer1_handle"> 
            <a href="#" id="close">[ x ]</a> 
            Preferences 
    </div> 
    <div id="layer1_content"> 
        <form id="layer1_form" method="post" action="save_settings.php"> 
            Display Settings<br /> 
            <input type="radio" name="display" checked="checked" 
value="Default" /> 
            Default<br /> 
            <input type="radio" name="display" value="Option A" /> 
            Option A<br /> 
            <input type="radio" name="display" value="Option B" /> 
            Option B<br /><br /> 
            Autosave settings<br /> 
            <input type="radio" name="autosave" checked="checked" 
value="Enabled" /> 
            Enabled<br /> 
            <input type="radio" name="autosave" value="Disabled" /> 
            Disabled<br /><br /> 
 
            <input type="submit" name="submit" value="Save" /> 
        </form> 
    </div> 
</div> 
Per verificarne il funzionamento lato server si è deciso di stampare semplicemente le impostazioni scelte tramite una semplice classe php, ossia save_settings.php:
<b>Preferences:</b><br /> 
Display Setting: 
<?php echo htmlspecialchars($_POST['display'], ENT_QUOTES); ?><br /> 
Autosave Setting: 
<?php echo htmlspecialchars($_POST['autosave'], ENT_QUOTES); ?><br />
Ora che abbiamo definito il form e la classe server, che riceve i dati, dobbiamo definire l'uscita alla chiamata Ajax che mostrerà la risposta. Per questo motivo viene creato un nuovo container identificato con #content.

Inizialmente conterrà un pulsante per impostare le preferenze e quando il form verrà eseguito correttamente verrà sostituito proprio con la risposta Ajax:
<div id="content"><input type="button" id="preferences" 
value="Edit Preferences" /></div> 
A questo punto bisogna implementare le funzioni jQuery e agganciare i plugin.
Prima di tutto, dobbiamo importare le librerie inserendelo nel tag head del nostro documento:
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="interface.js"></script> 
<script type="text/javascript" src="jquery.form.js"></script> 
Una parte importante, spesso sottovalutata, è quelal di caricare le funzioni e il codice jQuery dop oaver definito tutta la parte DOM soprattutto dopo il rendering così da avere tutti i componenti disponibili e funzionali, questo è facilmente assicurato se si usa la funzione $(document).ready( ... ) come nell'esempio seguente:
<script type="text/javascript"> 
    $(document).ready(function() 
    { 
        //jQuery events go here 
    } 
<script> 
Viene definito un wrapper con id #layer1 del nostro form coem una finestra draggabile con alcune impostazioni (fra le quali uno z-index di 20 e uan opacità di 0.7 che corrisponde al 70%):
$('#layer1').Draggable( 
        { 
            zIndex:    20, 
            ghosting:false, 
            opacity: 0.7, 
            handle:    '#layer1_handle' 
        } 
    ); 
per nascondere la finestra basta nascondere proprio questo wrapper:
$("#layer1").hide(); 
menter per visualizzare la finestra quando viene premuto il pulsante associato:
$('#preferences').click(function() 
{ 
    $("#layer1").show(); 
}); 
come vedete risulta molto semplice il codice di controllo, a questo punto in modo analogo per nascondere il form quando si preme sul link #close (o come dicevamo immagine / pulsante) viene nascosto il form con questa istruzione:
$('#close').click(function() 
{ 
    $("#layer1").hide(); 
}); 
Ecco questo è tutta la parte che bisogna inserire per controllare la dialog, non resta che processare la risposta Ajax e se la richiesta viene eseguita correttamente chiudere la dialog, che nel nostro caso significa:
$('#layer1_form').ajaxForm({ 
    target: '#content', 
    success: function() 
    { 
        $("#layer1").hide();
        // se vuoi, fai qualcosa al termine della operazione
        // ....
    } 
}); 
Nei collegamenti esterni qui sotto trovate il link alla demo e la possibilità di scaricare i sorgenti completi. Questo è quanto!

Collegamenti esterni: jQuery | Form Plugin | Interface Plugin| demo | download source


Pubblicato da: nickel il martedì 2 dicembre 2008 alle 17:00
Argomenti: FloatingDialog, Informatica, jQuery, Tutorial
 

Post più recente Post più vecchio Home page

ondare

là, quando ondando vanno le campane

Link List 2

  • AdSense
  • Android
  • Apple
  • Arte
  • Attualità
  • blockUI
  • blog
  • Email
  • Fax
  • Feste
  • Festività
  • Film
  • FloatingDialog
  • Free
  • Freeware
  • Giochi
  • Google
  • Graffiti
  • idTabs
  • Impresa
  • Informatica
  • Java
  • jNice
  • jQuery
  • jTruncate
  • Libri
  • Lightbox
  • Marketing
  • Masterizzare
  • Medicina
  • Microsoft
  • nofollow
  • Notizie
  • Olocausto
  • Opensource
  • PHP
  • progressBar
  • Recensioni
  • Running
  • Salute
  • SEO
  • Sicurezza
  • Skype
  • Sports
  • Storia
  • tags
  • Torino
  • Traduttore
  • Tutorial
  • Varie
  • Video
  • Voip
  • web2.0
  • Webdesign

Link List 1

  • AdSense
  • Android
  • Apple
  • Arte
  • Attualità
  • blockUI
  • blog
  • Email
  • Fax
  • Feste
  • Festività
  • Film
  • FloatingDialog
  • Free
  • Freeware
  • Giochi
  • Google
  • Graffiti
  • idTabs
  • Impresa
  • Informatica
  • Java
  • jNice
  • jQuery
  • jTruncate
  • Libri
  • Lightbox
  • Marketing
  • Masterizzare
  • Medicina
  • Microsoft
  • nofollow
  • Notizie
  • Olocausto
  • Opensource
  • PHP
  • progressBar
  • Recensioni
  • Running
  • Salute
  • SEO
  • Sicurezza
  • Skype
  • Sports
  • Storia
  • tags
  • Torino
  • Traduttore
  • Tutorial
  • Varie
  • Video
  • Voip
  • web2.0
  • Webdesign
  • no image Blog - aggregatori web sono gioie o dolori?
  • Android AVD lento? Mettigli le ali col RAMDisk Android AVD lento? Mettigli le ali col RAMDisk
  • no image Internet - Libertà e sicurezza nella rete? Amore e odio.
  • no image Freeware - Codec unico per film e video: CCCP
  • no image Oops, il Natale si avvicina..
  • no image Colpire il presidente, si può... e non è il primo attentato!
  • no image Capodanno Due Zero Zero Nove
  • no image Salute - AIDS / HIV: anche i virus tremano
  • no image jQuery: slideshow su blogger? semplice e implementabile!
  • no image Blog - essere o non essere nofollow questo è il dilemma!
  • Home page

Link List 4

  • AdSense
  • Android
  • Apple
  • Arte
  • Attualità
  • blockUI
  • blog
  • Email
  • Fax
  • Feste
  • Festività
  • Film
  • FloatingDialog
  • Free
  • Freeware
  • Giochi
  • Google
  • Graffiti
  • idTabs
  • Impresa
  • Informatica
  • Java
  • jNice
  • jQuery
  • jTruncate
  • Libri
  • Lightbox
  • Marketing
  • Masterizzare
  • Medicina
  • Microsoft
  • nofollow
  • Notizie
  • Olocausto
  • Opensource
  • PHP
  • progressBar
  • Recensioni
  • Running
  • Salute
  • SEO
  • Sicurezza
  • Skype
  • Sports
  • Storia
  • tags
  • Torino
  • Traduttore
  • Tutorial
  • Varie
  • Video
  • Voip
  • web2.0
  • Webdesign

Link List 3

  • AdSense
  • Android
  • Apple
  • Arte
  • Attualità
  • blockUI
  • blog
  • Email
  • Fax
  • Feste
  • Festività
  • Film
  • FloatingDialog
  • Free
  • Freeware
  • Giochi
  • Google
  • Graffiti
  • idTabs
  • Impresa
  • Informatica
  • Java
  • jNice
  • jQuery
  • jTruncate
  • Libri
  • Lightbox
  • Marketing
  • Masterizzare
  • Medicina
  • Microsoft
  • nofollow
  • Notizie
  • Olocausto
  • Opensource
  • PHP
  • progressBar
  • Recensioni
  • Running
  • Salute
  • SEO
  • Sicurezza
  • Skype
  • Sports
  • Storia
  • tags
  • Torino
  • Traduttore
  • Tutorial
  • Varie
  • Video
  • Voip
  • web2.0
  • Webdesign


In evidenza

Ti è piaciuto qualcosa del mio blog?
Hai trovato degli articoli interessanti?

Allora perché non fai una donazione? ad esempio a una di queste organizzazioni:

Ultimi articoli e commenti

Ultimi commenti

Argomenti

  • Arte (1)
  • Attualità (10)
  • Film (2)
  • Free (9)
  • Informatica (24)
  • Notizie (7)
  • Recensioni (10)
  • Salute (4)
  • Storia (1)
  • Tutorial (10)
  • Varie (21)

Contattami

Se avete suggerimenti, consigli, segnalazioni di errori o semplicemente mi volete scrivere.. potete farlo a
QUESTO INDIRIZZO

Oppure se volete potete leggervi qualcosa in più su questo sito e in particolare
SU DI ME

Qualcosa da leggere

  • jQuery - Semplici panelli spostabili
  • Android AVD lento? Mettigli le ali col RAMDisk
  • SEO - Le varie emozioni del Web(design)
  • Disqus - il commento conviene
  • Java - Tutorial sui Microsoft Tags
  • Internet - Libertà e sicurezza nella rete? Amore e odio.
  • jQuery: slideshow su blogger? semplice e implementabile!
  • jQuery - lightBox e Blogger anche in galleria
  • jQuery - un semplice tutorial per il vostro primo plugin
  • jQuery - Il fai da te dei tags

Da non perdere


www.dizionariodellacorsa.it

2008-2012 / ondare.org, theme designed and pimped by nickel / Ondare Blog

Vuoi abbonarti tramite feed?
Vuoi pubblicare un tuo articolo?
Vuoi aggiornarti tramite email?
Vuoi inviare dei suggerimenti?

Vuoi tornare alla pagina principale?
Vuoi collaborare con ondare?
Vuoi scaricare l'antipixel?
Vuoi conoscermi meglio?