c'e' solo un modo di fare le cose: farle bene
Chiunque utilizza applicazioni made in Google è abituato a vedere “Caricamento in corso” o informazioni simili ogni qualvolta si muove all’interno della pagina.
Facciamo la stessa cosa con jQuery!:)
La prima cosa da fare è creare un DIV all’interno della nostra applicazione web che abbia un ID ben definito (nell’esempio l’ho chiamato “loading“) e nel foglio di stile andremo a dargli queste caratteristiche:
#loading{
position: fixed;
top: 0;
left: 0;
z-index: 5000;
background-color: red;
font-size: 150%;
color: white;
padding: 2px;
display:none;
}
Tramite la direttiva position: fixed e le coordinate di top e left ho posizionato il DIV nell’angolo in alto a sinistra dell’applicazione ed iniziamente non è visibile (display:none).
Adesso, tramite jQuery, facciamo in modo che ad ogni chiamata AJAX il DIV venga messo a video:
$(document).ready(function()
{
$("#loading").bind("ajaxSend", function(){
$(this).show();
}).bind("ajaxComplete", function(){
$(this).hide();
});
})
Non appena la richiesta AJAX termina il DIV viene di nuovo nascosto.
Buon javascript a tutti!:)
Utilizzo abitualmente jQuery e tempo addietro ho scoperto un comodissimo plugin chiamato jFrame.
Ecco cosa fa jFrame:
Thanks to jQuery library, jFrame provides an easy way to get an HTML frame-like behaviour on DIV Elements with AJAX. It comes with Pimentech Scripts library. Also alvaiable on jQuery_site .
With jFrame, you can build smart, complex modern, internet apps without leaving the main page, without a single line of JavaScript !
A jFrame is a DIV tag with a src attribute. In a jFrame, click events on and input type=”submit” tags will be handled by jframe and loaded in ajax.
Aggiornando le versione di jQuery alla “current”, jFrame aveva smesso di funzionare.
La soluzione è semplice, basta aprire il file .JS di jFrame e sostituire:
div[@src]
con
div[src]
Va tolta la chiocciola perché dalle versione 1.2.6 di jQuery è stata deprecetata come selettore di attributo.
CakePHP è un framework web scritto in PHP, che segue i principi di Ruby on Rails e quindi permette un rapido sviluppo delle applicazioni.
La componente Ajax di CakePHP si basa su Prototype ma, l’estrema flessibilità del framework, ci permette di includere qualsiasi altra libreria Javascript.
Io utilizzo jQuery perché, con poche e comprensibili istruzioni, permette di fare cose davvero straordinarie e quindi ho pensato di scrivere un helper per CakePHP che implementasse l’autocomplete facendo delle richieste Ajax al server tramite l’ausilio di jQuery.
Il mio helper si chiama “jmycake” perché verrà ampliato ogni qualvolta avrò la necessità di jQuery all’interno delle mie applicazioni. (continua…)
Powered by Lifestream.
| L | M | M | G | V | S | D |
|---|---|---|---|---|---|---|
| « feb | ||||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 | ||||