Archivio della categoria ‘JQuery’

Tutorial jQuery – Gli eventi #2

jquery thumb1 Tutorial jQuery   Gli eventi #2

L’articolo introduttivo su jQuery ha dato spazio ai due argomenti classici di un tutorial alle prime pagine : installazione e i concetti base. Ho avuto modo, comunque, anche di presentarvi un banale e veloce esempio basato sugli eventi, argomento base su jQuery che riprendo e approfondisco proprio in questo articolo.

Gli Eventi

Gli eventi, come detto, gestiscono ed intercettano i comportamenti che ha l’utente quando interagisce con il browser : click, mouseover, doppioclick, resize ecc Ecco perché, come dicevo, sono la base di jQuery e non solo. L’elenco completo degli eventi disponibili e sfruttabili potete trovarlo in questa sezione della documentazione di jQuery.

Nell’esempio mostrato nell’articolo precedente, era citato l’evento click applicato ad un collegamento che scatenava un semplice popup. Vi riporto parte dell’esempio per rinfrescarvi la memoria (senza riscrivere tutto il codice) :

$(document).ready(function(){
$(“a”).click(function(){
alert(“Ciao Pecciola!”);
});
});

…………………………………………

…………………………………………
<h3 align=”middle”> Provate questo link : </h3>
<p align=”middle”> <a href=”http://pecciola.com/”>Pecciola</a> </p>

Seguendo lo stesso discorso, potete sfruttare l’evento click, ad esempio, per far scomparire lentamente il collegamento stesso. Resterà immutato tutto il codice, tranne la parte deputata a gestire l’evento click che diventerà :

$("a").click(function(){
$(this).hide("slow");
return false;
});

Proseguiami, ora, sempre con gli eventi, ma mostrando un esempio leggermente più complesso che riesce già a darvi un’idea più precisa delle potenzialità degli eventi in jQuery.

Evento bind()

Cenno particolare (essendo molto interessante e sfruttabile) é l’evento bind() e il suo corrispettivo unbind(). Grazie a questo metodo, infatti, siamo capaci di collegare una o più funzioni (chiamate handlers) ad uno o più eventi.

Ecco la sintassi precisa :

bind ( type, data, fn )

In modo particolare, il metodo bind() richiede tre parametri: il primo che indica il tipo di evento (o di eventi), il secondo (opzionale) é un oggetto JavaScript, mentre il terzo é la funziona lanciata al manifestarsi di quell’evento particolare.

Gli eventi supportati sono: blur, focus, load, resize, scroll, unload, beforeunload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error.

Vediamo un esempio più complesso del primo, come detto, che sfrutta proprio questo metodo.

Supponiamo di avere tre collegamenti (rosso, verde, viola) e, in relazione all’evento che l’utente scatenerà sul link, verrà riempito un quadrato del colore corrispondente.

Passiamo al codice html :

<html>
<head>
<link rel="stylesheet" href="esempio2.css" type="text/css" media="screen" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){

$(".rosso").bind("mouseover", function() {
$("#quadratino").removeClass().addClass("bgrosso");

});

$(".verde").bind("click", function() {
$("#quadratino").removeClass().addClass("bgverde");
});

$(".giallo").bind("dblclick", function() {
$("#quadratino").removeClass().addClass("bggiallo");
});

});
</script>
</head>
<body>
<div>
<p align="middle"> <img src="jquery.jpg" alt="jQuery" /></p>
<h1 align="middle"> Secondo Esempio jQuery </h1>
<h3 align="middle"> Provate i 3 links : </h3>
<ul>
<li class="rosso">rosso</li>
<li class="verde">verde</li>
<li class="giallo">giallo</li>
</ul>
</div>
<div id="quadratino"></div>
</body>
</html>

Prima di passare al css, facciamo due considerazioni :

  • Sono stati scelti 3 eventi sui rispettivi collegamenti : mouseover, click e dblclick così per dare una visione più globale
  • Avrete notato come, prima di aggiungere una nuova classe all’identificatore del div ‘quadratino’, abbiamo rimosso tutte le altre ($(‘quadrato’).removeClass()) presenti per esser sicuri di assegnare al quadrato un solo colore.

Il file css associato sarà del tipo :

#quadratino{
height:350px;
width:350px;
}

.bgrosso{
background: red;
}

.bgverde{
background: green;
}

.bggiallo{
background: yellow;
}

.rosso{
color:red;
}

.verde{
color:green;
}

.giallo{
color:yellow;
}

Eccovi l’esempio in esecuzione a questo link.

Conclusioni

In questa seconda lezione si é parlato in modo più approfondito della gestione degli eventi in jQuery con un esempio banale quanto significativo. Ma non é tutto. Serve, infatti, una terza lezioncina per definire meglio l’argomento eventi e spiegare bene alcune cosette importanti. Forse, dopo aver visto l’ultimo esempio, qualche domanda/dubbio vi sarà anche sorto…vuol dire che siete acuti….appuntamento a fra qualche giorno con la terza puntata ancora sugli eventi.

Tutorial jQuery – Installazione e concetti base #1

jquery thumb Tutorial jQuery   Installazione e concetti base #1

Dopo aver assaggiato qualcosina con l’articolo di presentazione sul DOM, eccomi, come promesso, a seguire con voi questo tutorial jQuery fatto a puntate partendo proprio dalle basi fino ad arrivare ad esempi pratici.

Questa prima puntata servirà solo a capire l’argomento e i suoi concetti di base e assaggerete solo un esempio banale, ma già dalla prossima si passerà a un qualcosa di più sfizioso.

jQuery, framework molto potente

Sicuramente seguendo questo blog avrete capito che jQuery è un framework JavaScript che basa molte delle sue potenzialità sfruttando la conoscenza di CSS e HTML e non di altri linguaggi di programmazione più complessi.

jQuery consente, in sostanza, di rendere più semplici le varie operazioni comuni sulle pagine htlm e di arricchire con effetti interessanti, accattivanti e particolari, gli elementi che compongono le stesse pagine web.

Installazione jQuery

L’ultima versione del Framework la trovate sul sito ufficiale di jQuery da cui potete scaricare la versione non compressa. Nonostante questo, il consiglio che vi do é quello di non installare nulla perché potrete includere jQuery direttamente nei vostri documenti Html così :

<script type=”text/javascript” src=”path/jquery-versione.js”>

dove, logicamente, occorre modificare l’attributo src nel tag script per farlo puntare alla vostra copia di jquery-versione.js (se, ad esempio, il file jquery-versione.js é nella stessa directory del file HTML che lo contiene, basterà scrivere :

<script type=”text/javascript” src=”jquery-versione.js”>

Pertanto, eccovi un semplicissimo documento html che include jQuery :

<html>
<head>
<script type="text/javascript" s rc="jquery-versione.js"></script>
<script type="text/javascript">
// Codice Html
</script>
</head>
<body>
<a href="http://jquery.com/">jQuery</a>
</body>
</html>

con il riferimento a jQuery inserito dopo il tag <head> come accade per gli script JS in generale.

Le Basi

Se dovessimo riassumere in due righe lo scopo principale di jQuery, potrei dirvi che tutto é volto al fine di selezionare un elemento della pagina html per fargli compiere un’azione ben precisa. Come detto anche nell’articolo introduttivo sul DOM, questa azione potrebbe essere qualsiasi, ma, in generale, con jQuery si cerca di agire sulle varie proprietà dell’elemento selezionato agendo direttamente sui selettori CSS.

Detto questo e consigliata una ripassatina proprio dei css, presentiamo il costrutto che sta alla base di jQuery : “$ e che altro non è che un alias della funzione jQuery.

In pratica, volendo selezionare un elemento nella pagina possiamo scrivere :

$(“selettore”)

che é equivalente a :

jQuery(“selettore”)

Fissate bene questo costrutto perché non potrete assolutamente fare a meno di utilizzarlo in jQuery.

Facendo un passo in avanti, notate che al famoso window.onload = functions() {…} del Javascript, jQuery propone un più snella e semplice espressione denominata ready event :

$(document).ready(function(){
// Il tuo codice qui
});

Questa espressione controlla, in pratica, il caricamento dell’intero documento prima di manipolarlo e prima di agire sui singoli elementi.

Primo Esempio jQuery

Proviamo ad applicare quanto appena visto sul costrutto basilare $ di jQuery proponendo un semplicissimo esempio che prevede un link e un pop-up scatenato proprio dal click del link.

Ecco il codice :

<html>
<head>
<link rel="stylesheet" href="esempi.css" type="text/css" media="screen" />

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("a").click(function(){
alert("Ciao Pecciola!");
});
});
</script>

</head>
<body>
<div>
<p align="middle"> <img src="jquery.jpg" alt="jQuery" /></p>
<h1 align="middle"> Primo Esempio jQuery </h1>
<h3 align="middle"> Provate questo link : </h3>
<p align="middle"> <a href="http://pecciola.com/">Pecciola</a> </p>
</div>
</body>
</html>

Potete testare l’esempio (ho omesso il semplice css associato per ragioni di spazio) a questo link. Due cose vanno sottolineate.

La prima é che ho utilizzato direttamente le API Google per caricare jQuery senza scaricare ed installare nulla. Prendete questa scelta come un fatto di comodità e di velocità…nessun’altra motivazione sta alla base di questa soluzione.

Inoltre, come notate, per applicare al click del link l’effetto pop-up é servito solo richiamare con il $ il selettore a cui applicare l’evento click.

Logicamente, gli eventi a disposizione per gestire le interazioni tra utente e browser  sono moltissimi come potete vedere sulla pagina eventi della documentazione ufficiale jQuery.

Avete visto una banalissima applicazione di jQuery, ma serviva un articolo come questo per introdurvi in questo framework di cui comincerete a toccare con mano le potenzialità fin dal prossimo articolo.

Basi di jQuery : DOM e html

Vorrei, di tanto in tanto, entrare meglio e più in dettaglio sul discorso jQuery. Le potenzialità di questo framework JS son tante e tali da doverle evidenziarle con un pò di teoria e molti esempi.

DOM

Se mi seguite, avrete visto come ogni tanto vi segnalo qualche plugin jQuery utile per il vostro blog, ma ora intendo approfondire l’argomento anche e soprattutto con qualche articolo step by step che segua un discorso logico e meglio articolato un pò come fatto per i fogli di stile css a suo tempo.

Prima di partire, però, credo sia necessario parlare di DOM ovvero di Document Object Model. Senza troppi giri di parole, citando Wikipedia :

DOM è lo standard ufficiale del W3C per la rappresentazione di documenti strutturati in maniera da essere neutrali sia per la lingua che per la piattaforma. DOM è inoltre la base per una vasta gamma delle interfacce di programmazione delle applicazioni; alcune di esse sono standardizzate dal W3C.

Il concetto é chiaro e cioè il DOM descrive in tutto e per tutto un modello gerarchico ad oggetti (tipo ad “albero”, tanto per semplificare la cosa) di quello che appare in una pagina HTML. Lo scopo é rendere facilmente accessibile ogni elemento della pagina e fornire metodi e attributi per operare su gli oggetti stessi.

Vediamo un esempio. Prendiamo il seguente semplice codice html :

<html>
<head>
<title>Il Mio primo Documento</title>
</head>
<body>
<h1>Header</h1>
<p>
Paragrafo
</p>
</body>
</html>

Quale sarebbe l’albero DOM del codice suddetto. Molto semplice :

DOM-html

Come vedete, si tratta di una rappresentazione gerarchica a tutti gli effetti che, logicamente, si complica con il crescere degli oggetto nella pagina html.

In sostanza, le possibilità messe a disposizione dal DOM son tante e tali che non solo si riesce a gestire ogni nodo, ma é possibile anche aggiungerne di nuovi oppure eliminarne alcuni già presenti.

È, inoltre, importante sottolineare un fatto : il DOM è indipendente dalla piattaforma e dal tipo di browser trattandosi di un’interfaccia definita direttamente dal W3C ed é lo strumento universale per tutti gli sviluppatori di pagine Web.

Document, element, node

Non volevo scendere troppo in dettaglio per non annoiarvi, ma lasciatemi concludere con i tre pilastri basilari del DOM : document, element e node

Come avrete intuito, il document è molto importante, perché è l’elemento che contiene tutti gli altri elementi del DOM. I metodi principali legati all’oggetto document si preoccupano di recuperare elementi nella pagina (getElementById() o getElementsByTagName()) e di creare nuovi elementi (createElement() o createTextNode())

Un elemento (element) si riferisce ad un elemento contraddistinto da un tag. Con tale definizione si intendono anche elementi che contengono altri elementi (ad esempio il tag TABLE, che può contenere tr e td ecc).

Il nodo (node), invece, include nella sua definizione tutti gli elementi, ma anche un testo o un semplice attributo. Quest’ultimo, quindi, non può avere altri attributi e non può contenere altri nodi.

Conclusioni

Ora che avete preso un minimo di dimestichezza e familiarità con il DOM, avrete meno difficoltà ad approcciare jQuery che, essendo Javascript, si basa fortemente sui conetti appena esposti.

Alla prossima, con i primi esempi jQuery!

jShowOff: plugin jQuery per ruotare contenuti Html

jShowOff 300x141 jShowOff: plugin jQuery per ruotare contenuti Html

jShowOff è un plugin per jQuery molto flessibile che consente di ruotare qualsiasi tipo di contenuto HTML. In pratica, funziona semplicemente con la creazione di ‘diapositive’ dagli elementi figlio di un wrapper (come <li> , ad esempio).

Accanto a questo, la creazione e la produzione è completamente personalizzabile con le opzioni per l’impostazione automatica on / off, la velocità delle transizioni, vari controlli e molto altro ancora.

Le varie voci dell’oggetto ‘ruotato’ rotore possono essere navigate con l’aiuto di una impaginazione, con i pulsanti prev-next e con le varie thumbnails.

Davvero interessante!

10 plugin jQuery per gestire html forms al meglio

jQuery Validation Plugin 300x100 10 plugin jQuery per gestire html forms al meglio

jQuery, come ripetuto spesso su questo blog, é una utilissima libreria JavaScript che consente la gestione di molteplici situazioni in modo ottimale. Una di queste é la gestione dei forms HTML, sempre più spesso presenti su siti e blog per gli scopi più vari

Eccovi una lista di 10 plugin jQuery pratici e utili per gestire e arricchire un form html. Come vedrete i plugin riguardano tutte le possibili interazioni e situazioni di un classico form html, dalla validazione all’autocompletamento dei campi, al capthca ecc


Creare tooltip con jQuery : jQuery Bubble Popup

Volete creare un tooltip dinamico e flessibile, ma non sapete da dove prendere spunto? Bè, le risorse di un framework javascript come jQuery sono illimitate e, quindi, per l’appunto vi segnalo jQuery Bubble Popup, plugin jQuery che vi consente di creare e controllare facilmente un tooltip. I tooltips potranno esser mostrati e anche nascosti, come [...]

Creare una checkbox in Html e jQuery

Se state cercando di realizzare una checkbok a selezione multipla, vi propongo una soluzione che sfrutta, ovviamente, l’Html e jQuery. Il codice, come vedrete, é estremamente semplice per quel che riguarda la parte html : <HTML> <HEAD> <script type=”text/javascript” src=”http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js”></script> <TITLE>Checkbox Multipla – DEMO</TITLE> <STYLE> body, input{ font-family: Calibri, Arial; } div { padding:5px; width:150px; [...]

jQuery Fundamentals : ebook e pdf online per imparare Javascript e jQuery

Posso vantarmi di aver sempre trattato con dovizia di particolari l’argomento JavaScript e jQuery, ma segnalare ottimi tutorials è sempre importante soprattutto per coloro che hanno qualche difficoltà a trovare una base di partenza per iniziare a studiare il linguaggio JS e il suo framework più famoso. jQuery Fundamentals è un libro online disponibile anche [...]