JavaScript  »  Guide  »  Guida jQuery UI 

Tabs: opzioni



L'utilizzo delle schede (tab) per gestire blocchi di contenuto molto corposi o di diversa natura è ormai divenuta una soluzione comune nel campo dell'interface design, tanto da essere spesso preso come metro di valutazione dell'aggiornamento di un software.

Se prendiamo ad esempio il campo dei web browser, una delle pecche maggiormente messe in evidenza del vecchio IE6 era la mancanza della navigazione a tab ormai comune in Firefox ed Opera. Peraltro questa soluzione progettuale è diventata così pervasiva da aver invaso anche l'interfaccia di prodotti desktop come Office.

Per quanto riguarda il web, l'uso di tab è indicato nei casi in cui ci sia necessità di suddividere un contenuto in blocchi ben distinti, dando così più rilievo alle singole parti via via visualizzate dall'utente.

È invece buona norma evitare le tab (e altre strutture come gli accordion) nel caso in cui il contenuto sia sostanzialmente omogeneo o comunque presenti rimandi interni, in modo da evitare che l'utente debba saltare continuamente da una scheda all'altra.

Nella sua configurazione di default, il widget tab è richiamato con il seguente codice:

$('#tabs').tabs();

e crea una struttura di navigazione a schede a partire da una struttura HTML come la seguente (esempio live):

<div id="tabs">
    <ul>
    	<li><a href="#fragment-1"><span>Uno</span></a></li>
    	<li><a href="#fragment-2"><span>Due</span></a></li>
    	<li><a href="#fragment-3"><span>Tre</span></a></li>
    </ul>
    <div id="fragment-1">
    	<p>Testo 1</p>
    	<pre><code>$('#tabs').tabs();</code></pre>
    </div>
    <div id="fragment-2">
   	 Lorem ipsum dolor sit amet, consectetuer adipiscing elit...
    </div>
    <div id="fragment-3">
    	Lorem ipsum dolor sit amet, consectetuer adipiscing elit...
    </div>
</div>

Sebbene questa struttura possa essere realizzata con una semantica più corretta, essa rimane comunque leggibile e navigabile anche quando CSS e JavaScript sono disabilitati, garantendo anche un elevato grado di accessibilità.

Come vedremo più avanti il widget non si limita ad applicare una serie di interazioni ed effetti grafici al contenuto preesistente, ma permette anche di caricare dinamicamente il contenuto delle schede, di aggiungere e cancellare schede on demand.

Opzioni

Come per altri widget complessi, è possibile adeguare in profondità l'aspetto e le funzionalità delle tab secondo le proprie necessità progettuali. Ecco le principali:

  • ajaxOptions: (oggetto)
    un oggetto JavaScript contenente le opzioni per la gestione del caricamento di contenuti nelle tab via AJAX (vedere $.ajax per le proprietà disponibili).
  • cache: (booleano - false)
    se impostato su true il contenuto delle schede caricato con AJAX sarà salvato nella cache. Per evitare che anche le richieste AJAX siano salvate nella cache del brower dovrete aggiungere l'opzione cache : false in ajaxOptions.
  • collapsible: (booleano - false)
    permette di rendere collassabili tutte le schede, lasciando visibili solo le etichette.
  • cookie: (oggetto - null)
    salva l'ultima scheda selezionata in un cookie, per essere riutilizzata come scheda di default quando l'utente ritorna sulla pagina. Richiede l'utilizzo del plugin cookie. L'oggetto passato come valore dell'opzione dev'essere formattato secondo quanto previsto dal plugin cookie, ad esempio: { expires: 7, path: '/', domain: 'jquery.com', secure: true }.
  • event: (stringa - 'click')
    l'evento che permette di visualizzare il contenuto di una scheda. In alcuni casi potrebbe essere preferibile associare l'apertura di una scheda all'evento mouseover, tuttavia bisogna tener conto dei problemi legati al movimento involontario del mouse da parte dell'utente.
  • panelTemplate / tabTemplate: (stringa)
    indicano un modello al quale applicare il contenuto di tab caricate in remoto (AJAX) rispettivamente per la scheda (default '<div></div>') e l'etichetta (default '<li><a href="#{href}"><span>#{label}</span></a></li>').
  • selected: (intero : 0)
    indica l'indice (a partire da 0) della scheda di default al momento dell'inizializzazione del widget. Per non impostare alcuna tab passate il valore -1. Se richiamata dal metodo 'option', questa opzione restituirà l'indice della scheda attiva corrente sotto forma di intero.

L'elenco completo delle opzioni disponibili è in questo documento.

Ultimi articoli JavaScript

PhantomJS, headless browser per test con Javascript

Il tool ideale per realizzare, da terminale, operazioni in remoto su...

Creare e leggere QR Code in JavaScript

Applicazioni 'QR Code enabled' per il Web e per il mobile,...

Jquery UI Map: web-mapping con Google Maps e jQuery

Un plugin di jQuery UI per intefacciare applicaizoni Web/mobile con...

Scrollorama e Scrolldeck, slideshow d'effetto con jQuery

Plugin jQuery per ottenere Slideshow con diversi effetti di scrolling

jCanvas, un primo semplice grafico

Alla scoperta della libreria jCanvas, per semplificare il disegno e...

Altri articoli

Guide JavaScript

Guida Node.js

Il framework che permette di per usare V8, l'interprete JavaScript...

Canvas, guida ai framework

Canvas, tra gli elementi di HTML5 è forse quello di maggior impatto....

Guida Javascript: tecniche avanzate

Una guida dal taglio pratico per approfondire la programmazione a...

Altre guide

Newsletter @JavaScript

Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso JQuery e Ajax per Webmaster

03 Luglio 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti