Bootstrap 3 succintamente caratteristiche JavaScript modificate

Quando si tratta di JavaScript in BS3, non è cambiato molto; la stragrande maggioranza dei cambiamenti che abbiamo visto finora ruotano attorno alle sezioni CSS e componenti. C'è una ragione per questo.

La maggior parte delle funzionalità JavaScript di BS2 (e per quella di BS3) si presenta sotto forma di attributi dei dati. Nella maggior parte dei casi, abbiamo già visto come utilizzarli nelle varie sezioni sui componenti, il che lascia davvero molto poco che sia specifico solo per JavaScript.

In questo tutorial, quindi, eseguirò brevemente la maggior parte di ciò che è disponibile, e dove non ci sono altre descrizioni altrove nella serie, mostra un breve esempio su come utilizzare l'API disponibile.

Le strutture JS disponibili in BS2 e BS3 sono molto estensibili e anche una serie completa di tutorial probabilmente non potrebbe coprire tutto ciò che è possibile. Pertanto vi incoraggio vivamente ad andare sul sito Web Bootstrap e leggere la sezione su JavaScript.

Modals

La prima cosa che qualcuno menziona quando il tema di JavaScript si presenta in Bootstrap è la finestra di dialogo modale - ed è una piccola sorpresa.

Le caselle modali di BS3 sono una delle implementazioni più semplici (e una delle più ricche) viste in uno dei moderni framework HTML5 del browser.

Usarli è facile, ma sfortunatamente richiede un bel po 'di markup.

Il seguente codice ti fornisce un esempio molto semplice:

 
Esempio modale prodotto dal campione

Per mostrare un modale, devi prima avere un obiettivo di innesco. Nell'esempio sopra, questo è il pulsante contrassegnato Mostra finestra di dialogo modale. Affinché un'azione di trigger funzioni, è necessario che gli sia assegnato un attributo di commutazione e di destinazione e che il commutatore deve avere il valore "modale"per mostrare che si rivolge a una finestra di dialogo modale. L'obiettivo deve avere il selettore ID più esterno

assegnato ad esso.

In questo esempio, il più esterno

ha un ID = "myModal" su di esso, che significa l'attributo di dati per bersaglio avrebbe dovuto #myModal come il suo valore.

Il tuo innesco non deve essere un pulsante; può essere tutto ciò che può accettare (o è impostato per accettare) un clic del mouse, purché siano forniti gli attributi di commutazione e di dati di destinazione.

Una volta entrati nella modale, vedrai che la struttura è composta da un numero di nidificati abbastanza profondamente

S. A causa di questo annidamento, è consigliabile creare e posizionare le definizioni di dialogo / modali il più vicino possibile alla radice del corpo; se non lo fai, c'è una possibilità che altri componenti e strutture HTML possano causare problemi di layout che non avevi previsto.

Noterai anche che, di nuovo, c'è un tema comune di contrassegnare le cose per renderle amichevoli agli screen reader e, ancora una volta, non posso sottolineare abbastanza: dovresti fare ogni sforzo per assicurarti che il tuo markup sia così amichevole strumenti di accessibilità possibili.

Un modale inizia con un esterno

e la classe modale applicato ad esso. Opzionalmente, puoi anche aggiungere dissolvenza, che darà al modale una transizione gradevole e piacevole quando si mostra e si nasconde. Questo esterno
dovrebbe essere quello su cui imposti il ​​tuo Z-Order e qualsiasi altra cosa in merito alle personalizzazioni modali globali che desideri realizzare.

Il prossimo

in dovrebbe avere una classe di modal-dialog aggiunto ad esso. Quello
dovrebbe quindi essere seguito immediatamente da un terzo
con la classe di modal-content assegnato ad esso. È dentro questo terzo
dove si posiziona effettivamente la definizione del contenuto modale.

Una volta definita la shell del contenuto modale, è possibile inserirla ulteriormente in tre

elementi con le seguenti classi: modal-header, modal-corpo, e modal-footer. Queste tre sezioni interne NON devono essere nidificate, ma piuttosto aggiunte al markup come fratelli l'una dell'altra, e vengono utilizzate per definire il contenuto per le tre sezioni principali della finestra di dialogo.

Puoi vedere dal codice nell'esempio sopra che includiamo una croce di chiusura, come abbiamo fatto per le caselle di avviso. L'unica differenza tra questa croce di chiusura e quella che abbiamo visto in precedenza è che il respingere l'attributo data ha un valore di modale e non mettere in guardia. Qualsiasi elemento cliccabile inserito all'interno del markup modale interno che ha questo attributo dati, con questo valore, chiuderà la finestra di dialogo quando viene cliccato.

A parte l'icona vicina, il resto del contenuto interno della modale è solo normale markup BS3 e CSS. Qualunque cosa tu possa usare altrove puoi usare all'interno di una modale, e se è troppo alta per lo schermo, otterrai un contenitore interno che passa automaticamente a un elemento scorrevole.

Ci sono anche due dimensioni di larghezza opzionali; questi sono aggiunti all'interno modal-dialog

e lo sono modal-lg e modal-sm. La classe di grandi dimensioni espande la larghezza del modale a metà della larghezza dello schermo (ideale per tabelle e elenchi), mentre le dimensioni ridotte riducono la larghezza predefinita a circa la metà della sua dimensione originale (ideale per cose come yes / no prompt).

Puoi anche inizializzare il modal usando l'API JavaScript in un modo jQuery standard; se si desidera modificare il comportamento dell'opzione predefinita, l'utilizzo del costruttore JQ è l'unico modo per farlo.

$ ('# myModal'). modal (backdrop: true / false, keyboard: true / false, show: true / false, remote: 'percorso all'URL che restituisce il contenuto'); 

Le opzioni che possono essere modificate sono le seguenti:

  • sullo sfondo: Boolean true o false per includere o meno lo sfondo ombreggiato nella pagina quando viene visualizzata la modale; se il valore statico è specificato, quindi lo sfondo viene mostrato ma NON chiude la modale quando viene cliccato, come succede se vero viene usato.
  • tastiera: Booleano vero o falso; consente o non consente alla chiave di escape di chiudere il modal.
  • mostrare: Boolean true o false, mostra o mostra automaticamente la finestra di dialogo non appena viene inizializzata.
  • a distanza: Stringa contenente un URL per ottenere il contenuto interno per il corpo del dialog; se questo è fornito, allora il dialog chiederà all'url di fornire un pezzo di HTML da usare nel corpo del modale.

Ci sono anche un numero di eventi che vengono generati per determinate azioni, ma sono oltre lo scopo di questo tutorial.

Tabs

Se ricordi, nella sezione sulla navigazione di base, ho detto che il componente scheda può essere cablato con markup extra per gestire effettivamente lo scambio di riquadri di contenuti per te.

Per contrassegnare una serie di schede che cambiano automaticamente utilizzando JavaScript, devi prima creare un