Aperçu

Individuel ou compilé

Les plugins peuvent être inclus individuellement (en utilisant les *.jsfichiers individuels de Bootstrap), ou tous à la fois (en utilisant bootstrap.jsou le minified bootstrap.min.js).

Utilisation du JavaScript compilé

Les deux bootstrap.jset bootstrap.min.jscontiennent tous les plugins dans un seul fichier. N'en incluez qu'un.

Dépendances des plugins

Certains plugins et composants CSS dépendent d'autres plugins. Si vous incluez des plugins individuellement, assurez-vous de vérifier ces dépendances dans la documentation. Notez également que tous les plugins dépendent de jQuery (cela signifie que jQuery doit être inclus avant les fichiers du plugin). Consultez notrebower.json pour voir quelles versions de jQuery sont prises en charge.

Attributs de données

Vous pouvez utiliser tous les plugins Bootstrap uniquement via l'API de balisage sans écrire une seule ligne de JavaScript. Il s'agit de l'API de première classe de Bootstrap et devrait être votre première considération lors de l'utilisation d'un plugin.

Cela dit, dans certaines situations, il peut être souhaitable de désactiver cette fonctionnalité. Par conséquent, nous offrons également la possibilité de désactiver l'API d'attribut de données en déliant tous les événements sur l'espace de noms de document avec data-api. Cela ressemble à ceci :

$(document).off('.data-api')

Alternativement, pour cibler un plugin spécifique, incluez simplement le nom du plugin en tant qu'espace de noms avec l'espace de noms data-api comme ceci :

$(document).off('.alert.data-api')

Un seul plugin par élément via les attributs de données

N'utilisez pas les attributs de données de plusieurs plugins sur le même élément. Par exemple, un bouton ne peut pas à la fois avoir une info-bulle et basculer un modal. Pour ce faire, utilisez un élément d'emballage.

API programmatique

Nous pensons également que vous devriez pouvoir utiliser tous les plugins Bootstrap uniquement via l'API JavaScript. Toutes les API publiques sont des méthodes uniques et chaînées et renvoient la collection sur laquelle elles ont agi.

$('.btn.danger').button('toggle').addClass('fat')

Toutes les méthodes doivent accepter un objet d'options optionnel, une chaîne qui cible une méthode particulière, ou rien (qui lance un plugin avec un comportement par défaut) :

$('#myModal').modal()                      // initialized with defaults
$('#myModal').modal({ keyboard: false })   // initialized with no keyboard
$('#myModal').modal('show')                // initializes and invokes show immediately

Chaque plugin expose également son constructeur brut sur une Constructorpropriété : $.fn.popover.Constructor. Si vous souhaitez obtenir une instance de plugin particulière, récupérez-la directement à partir d'un élément : $('[rel="popover"]').data('popover').

Paramètres par défaut

Vous pouvez modifier les paramètres par défaut d'un plugin en modifiant l' Constructor.DEFAULTSobjet du plugin :

$.fn.modal.Constructor.DEFAULTS.keyboard = false // changes default for the modal plugin's `keyboard` option to false

Pas de conflit

Parfois, il est nécessaire d'utiliser des plugins Bootstrap avec d'autres frameworks d'interface utilisateur. Dans ces circonstances, des collisions d'espaces de noms peuvent parfois se produire. Si cela se produit, vous pouvez appeler .noConflictle plugin dont vous souhaitez annuler la valeur.

var bootstrapButton = $.fn.button.noConflict() // return $.fn.button to previously assigned value
$.fn.bootstrapBtn = bootstrapButton            // give $().bootstrapBtn the Bootstrap functionality

Événements

Bootstrap fournit des événements personnalisés pour les actions uniques de la plupart des plugins. Généralement, ceux-ci se présentent sous une forme infinitive et participe passé - où l'infinitif (ex. show) est déclenché au début d'un événement, et sa forme de participe passé (ex. shown) est déclenchée à la fin d'une action.

Depuis la version 3.0.0, tous les événements Bootstrap sont nommés.

Tous les événements infinitifs fournissent des preventDefaultfonctionnalités. Cela permet d'arrêter l'exécution d'une action avant qu'elle ne démarre.

$('#myModal').on('show.bs.modal', function (e) {
  if (!data) return e.preventDefault() // stops modal from being shown
})

Désinfectant

Les info-bulles et les popovers utilisent notre assainisseur intégré pour assainir les options qui acceptent le HTML.

La valeur par défaut whiteListest la suivante :

var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i
var DefaultWhitelist = {
  // Global attributes allowed on any supplied element below.
  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
  a: ['target', 'href', 'title', 'rel'],
  area: [],
  b: [],
  br: [],
  col: [],
  code: [],
  div: [],
  em: [],
  hr: [],
  h1: [],
  h2: [],
  h3: [],
  h4: [],
  h5: [],
  h6: [],
  i: [],
  img: ['src', 'alt', 'title', 'width', 'height'],
  li: [],
  ol: [],
  p: [],
  pre: [],
  s: [],
  small: [],
  span: [],
  sub: [],
  sup: [],
  strong: [],
  u: [],
  ul: []
}

Si vous souhaitez ajouter de nouvelles valeurs à cette valeur par défaut whiteList, vous pouvez procéder comme suit :

var myDefaultWhiteList = $.fn.tooltip.Constructor.DEFAULTS.whiteList

// To allow table elements
myDefaultWhiteList.table = []

// To allow td elements and data-option attributes on td elements
myDefaultWhiteList.td = ['data-option']

// You can push your custom regex to validate your attributes.
// Be careful about your regular expressions being too lax
var myCustomRegex = /^data-my-app-[\w-]+/
myDefaultWhiteList['*'].push(myCustomRegex)

Si vous souhaitez contourner notre désinfectant parce que vous préférez utiliser une bibliothèque dédiée, par exemple DOMPurify , vous devez procéder comme suit :

$('#yourTooltip').tooltip({
  sanitizeFn: function (content) {
    return DOMPurify.sanitize(content)
  }
})

Navigateurs sansdocument.implementation.createHTMLDocument

Dans le cas de navigateurs qui ne prennent pas en charge document.implementation.createHTMLDocument, comme Internet Explorer 8, la fonction de nettoyage intégrée renvoie le code HTML tel quel.

Si vous souhaitez effectuer une désinfection dans ce cas, veuillez spécifier sanitizeFnet utiliser une bibliothèque externe comme DOMPurify .

Numéros de version

La version de chacun des plugins jQuery de Bootstrap est accessible via la VERSIONpropriété du constructeur du plugin. Par exemple, pour le plugin tooltip :

$.fn.tooltip.Constructor.VERSION // => "3.4.1"

Pas de repli spécial lorsque JavaScript est désactivé

Les plugins de Bootstrap ne se replient pas particulièrement gracieusement lorsque JavaScript est désactivé. Si vous vous souciez de l'expérience utilisateur dans ce cas, utilisez <noscript>pour expliquer la situation (et comment réactiver JavaScript) à vos utilisateurs, et/ou ajoutez vos propres solutions de repli personnalisées.

Bibliothèques tierces

Bootstrap ne prend pas officiellement en charge les bibliothèques JavaScript tierces telles que Prototype ou jQuery UI. Malgré .noConflictles événements et les espaces de noms, il peut y avoir des problèmes de compatibilité que vous devez résoudre vous-même.

Transitions transition.js

À propos des transitions

Pour des effets de transition simples, incluez transition.jsune fois à côté des autres fichiers JS. Si vous utilisez le compiled (ou minified) bootstrap.js, il n'est pas nécessaire de l'inclure, il est déjà là.

Qu'est-ce qu'il y a à l'intérieur

Transition.js est une aide de base pour transitionEndles événements ainsi qu'un émulateur de transition CSS. Il est utilisé par les autres plugins pour vérifier la prise en charge des transitions CSS et pour détecter les transitions suspendues.

Désactiver les transitions

Les transitions peuvent être globalement désactivées à l'aide de l'extrait de code JavaScript suivant, qui doit venir après le chargement de transition.js(ou bootstrap.jsou bootstrap.min.js, selon le cas) :

$.support.transition = false

Modaux modal.js

Les modaux sont des invites de dialogue simplifiées, mais flexibles, avec les fonctionnalités minimales requises et des valeurs par défaut intelligentes.

Plusieurs modaux ouverts non pris en charge

Assurez-vous de ne pas ouvrir un modal alors qu'un autre est encore visible. Afficher plus d'un modal à la fois nécessite un code personnalisé.

Placement du balisage modal

Essayez toujours de placer le code HTML d'un modal dans une position de niveau supérieur dans votre document pour éviter que d'autres composants n'affectent l'apparence et/ou la fonctionnalité du modal.

Avertissements concernant les appareils mobiles

Il y a quelques mises en garde concernant l'utilisation des modaux sur les appareils mobiles. Consultez nos documents de support de navigateur pour plus de détails.

En raison de la façon dont HTML5 définit sa sémantique, l' autofocusattribut HTML n'a aucun effet dans les modaux Bootstrap. Pour obtenir le même effet, utilisez du JavaScript personnalisé :

$('#myModal').on('shown.bs.modal', function () {
  $('#myInput').focus()
})

Exemples

Exemple statique

Un modal rendu avec un en-tête, un corps et un ensemble d'actions dans le pied de page.

<div class="modal fade" tabindex="-1" role="dialog">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title">Modal title</h4>
      </div>
      <div class="modal-body">
        <p>One fine body&hellip;</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

Démo en direct

Basculez un modal via JavaScript en cliquant sur le bouton ci-dessous. Il glissera vers le bas et s'estompera à partir du haut de la page.

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

Rendre les modaux accessibles

Assurez-vous d'ajouter role="dialog"et aria-labelledby="...", faisant référence au titre modal, à .modalet role="document"à lui- .modal-dialogmême.

De plus, vous pouvez donner une description de votre boîte de dialogue modale avec aria-describedbysur .modal.

Intégration de vidéos YouTube

L'intégration de vidéos YouTube dans les modaux nécessite du JavaScript supplémentaire qui n'est pas dans Bootstrap pour arrêter automatiquement la lecture et plus encore. Voir cet article utile sur Stack Overflow pour plus d'informations.

Tailles facultatives

Les modaux ont deux tailles facultatives, disponibles via des classes de modificateurs à placer sur un fichier .modal-dialog.

<!-- Large modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bs-example-modal-lg">Large modal</button>

<div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
  <div class="modal-dialog modal-lg" role="document">
    <div class="modal-content">
      ...
    </div>
  </div>
</div>

<!-- Small modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bs-example-modal-sm">Small modal</button>

<div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel">
  <div class="modal-dialog modal-sm" role="document">
    <div class="modal-content">
      ...
    </div>
  </div>
</div>

Supprimer l'animation

Pour les modaux qui apparaissent simplement plutôt que de s'afficher en fondu, supprimez la .fadeclasse de votre balisage modal.

<div class="modal" tabindex="-1" role="dialog" aria-labelledby="...">
  ...
</div>

Utilisation du système de grille

Pour tirer parti du système de grille Bootstrap dans un modal, il suffit d'imbriquer .rows dans le .modal-bodypuis d'utiliser les classes de système de grille normales.

<div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="gridSystemModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="gridSystemModalLabel">Modal title</h4>
      </div>
      <div class="modal-body">
        <div class="row">
          <div class="col-md-4">.col-md-4</div>
          <div class="col-md-4 col-md-offset-4">.col-md-4 .col-md-offset-4</div>
        </div>
        <div class="row">
          <div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div>
          <div class="col-md-2 col-md-offset-4">.col-md-2 .col-md-offset-4</div>
        </div>
        <div class="row">
          <div class="col-md-6 col-md-offset-3">.col-md-6 .col-md-offset-3</div>
        </div>
        <div class="row">
          <div class="col-sm-9">
            Level 1: .col-sm-9
            <div class="row">
              <div class="col-xs-8 col-sm-6">
                Level 2: .col-xs-8 .col-sm-6
              </div>
              <div class="col-xs-4 col-sm-6">
                Level 2: .col-xs-4 .col-sm-6
              </div>
            </div>
          </div>
        </div>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

Vous avez un tas de boutons qui déclenchent tous le même modal, juste avec un contenu légèrement différent ? Utilisez event.relatedTargetet les attributs HTMLdata-* (éventuellement via jQuery ) pour faire varier le contenu du modal en fonction du bouton sur lequel vous avez cliqué. Voir la documentation sur les événements modaux pour plus de détails sur relatedTarget,

...plus de boutons...
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@mdo">Open modal for @mdo</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@fat">Open modal for @fat</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@getbootstrap">Open modal for @getbootstrap</button>
...more buttons...

<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title" id="exampleModalLabel">New message</h4>
      </div>
      <div class="modal-body">
        <form>
          <div class="form-group">
            <label for="recipient-name" class="control-label">Recipient:</label>
            <input type="text" class="form-control" id="recipient-name">
          </div>
          <div class="form-group">
            <label for="message-text" class="control-label">Message:</label>
            <textarea class="form-control" id="message-text"></textarea>
          </div>
        </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Send message</button>
      </div>
    </div>
  </div>
</div>
$('#exampleModal').on('show.bs.modal', function (event) {
  var button = $(event.relatedTarget) // Button that triggered the modal
  var recipient = button.data('whatever') // Extract info from data-* attributes
  // If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
  // Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
  var modal = $(this)
  modal.find('.modal-title').text('New message to ' + recipient)
  modal.find('.modal-body input').val(recipient)
})

Usage

Le plugin modal bascule votre contenu caché à la demande, via des attributs de données ou JavaScript. Il ajoute également .modal-openau <body>comportement de défilement par défaut pour remplacer et génère un .modal-backdroppour fournir une zone de clic pour ignorer les modaux affichés lorsque vous cliquez en dehors du modal.

Via les attributs de données

Activez un modal sans écrire de JavaScript. Définissez data-toggle="modal"un élément de contrôleur, comme un bouton, avec un data-target="#foo"ou href="#foo"pour cibler un modal spécifique à basculer.

<button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button>

Via Javascript

Appelez un modal avec id myModalavec une seule ligne de JavaScript :

$('#myModal').modal(options)

Choix

Les options peuvent être transmises via des attributs de données ou JavaScript. Pour les attributs de données, ajoutez le nom de l'option à data-, comme dans data-backdrop="".

Nom taper défaut la description
toile de fond booléen ou la chaîne'static' vrai Inclut un élément modal-backdrop. Vous pouvez également spécifier staticun fond qui ne ferme pas le modal au clic.
clavier booléen vrai Ferme le modal lorsque la touche d'échappement est enfoncée
Afficher booléen vrai Affiche le modal lorsqu'il est initialisé.
télécommande chemin faux

Cette option est obsolète depuis la v3.3.0 et a été supprimée dans la v4. Nous vous recommandons plutôt d'utiliser des modèles côté client ou un framework de liaison de données, ou d'appeler vous-même jQuery.load .

Si une URL distante est fournie, le contenu sera chargé une fois via la loadméthode de jQuery et injecté dans le .modal-contentdiv. Si vous utilisez l'api de données, vous pouvez également utiliser l' hrefattribut pour spécifier la source distante. Un exemple de ceci est montré ci-dessous :

<a data-toggle="modal" href="remote.html" data-target="#modal">Click me</a>

Méthodes

Active votre contenu en tant que modal. Accepte une option facultative object.

$('#myModal').modal({
  keyboard: false
})

Bascule manuellement un modal. Renvoie à l'appelant avant que le modal ait été réellement affiché ou masqué (c'est-à-dire avant que l' événement shown.bs.modalou ne hidden.bs.modalse produise).

$('#myModal').modal('toggle')

Ouvre manuellement un modal. Retourne à l'appelant avant que le modal n'ait été affiché (c'est-à-dire avant que l' shown.bs.modalévénement ne se produise).

$('#myModal').modal('show')

Masque manuellement un modal. Retourne à l'appelant avant que le modal ait été masqué (c'est-à-dire avant que l' hidden.bs.modalévénement ne se produise).

$('#myModal').modal('hide')

Réajuste le positionnement du modal pour contrer une barre de défilement au cas où une apparaîtrait, ce qui ferait sauter le modal vers la gauche.

Nécessaire uniquement lorsque la hauteur du modal change pendant qu'il est ouvert.

$('#myModal').modal('handleUpdate')

Événements

La classe modale de Bootstrap expose quelques événements pour se connecter à la fonctionnalité modale.

Tous les événements modaux sont déclenchés sur le modal lui-même (c'est-à-dire sur le <div class="modal">).

Type d'événement La description
show.bs.modal Cet événement se déclenche immédiatement lorsque la showméthode d'instance est appelée. S'il est causé par un clic, l'élément cliqué est disponible en tant que relatedTargetpropriété de l'événement.
montré.bs.modal Cet événement est déclenché lorsque le modal a été rendu visible à l'utilisateur (il attendra que les transitions CSS soient terminées). S'il est causé par un clic, l'élément cliqué est disponible en tant que relatedTargetpropriété de l'événement.
hide.bs.modal Cet événement est déclenché immédiatement lorsque la hideméthode d'instance a été appelée.
caché.bs.modal Cet événement est déclenché lorsque le modal a fini d'être caché à l'utilisateur (il attendra que les transitions CSS soient terminées).
chargé.bs.modal Cet événement est déclenché lorsque le modal a chargé du contenu à l'aide de l' remoteoption.
$('#myModal').on('hidden.bs.modal', function (e) {
  // do something...
})

Listes déroulantes dropdown.js

Ajoutez des menus déroulants à presque tout avec ce plugin simple, y compris la barre de navigation, les onglets et les pilules.

Dans une barre de navigation

Dans les pilules

Via les attributs de données ou JavaScript, le plug-in déroulant bascule le contenu masqué (menus déroulants) en basculant la .openclasse sur l'élément de la liste parent.

Sur les appareils mobiles, l'ouverture d'une liste déroulante ajoute une .dropdown-backdropzone tactile pour fermer les menus déroulants lorsque vous appuyez en dehors du menu, une exigence pour une prise en charge iOS appropriée. Cela signifie que le passage d'un menu déroulant ouvert à un autre menu déroulant nécessite un appui supplémentaire sur le mobile.

Remarque : L' data-toggle="dropdown"attribut est utilisé pour fermer les menus déroulants au niveau de l'application, c'est donc une bonne idée de toujours l'utiliser.

Via les attributs de données

Ajouter data-toggle="dropdown"à un lien ou à un bouton pour basculer vers une liste déroulante.

<div class="dropdown">
  <button id="dLabel" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown trigger
    <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" aria-labelledby="dLabel">
    ...
  </ul>
</div>

Pour conserver les URL intactes avec les boutons de lien, utilisez l' data-targetattribut au lieu de href="#".

<div class="dropdown">
  <a id="dLabel" data-target="#" href="http://example.com/" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
    Dropdown trigger
    <span class="caret"></span>
  </a>

  <ul class="dropdown-menu" aria-labelledby="dLabel">
    ...
  </ul>
</div>

Via Javascript

Appelez les listes déroulantes via JavaScript :

$('.dropdown-toggle').dropdown()

data-toggle="dropdown"encore nécessaire

Que vous appeliez votre liste déroulante via JavaScript ou que vous utilisiez à la place l'API de données, data-toggle="dropdown"il doit toujours être présent sur l'élément déclencheur de la liste déroulante.

Aucun

Bascule le menu déroulant d'une barre de navigation donnée ou d'une navigation par onglets.

Tous les événements déroulants sont déclenchés sur l' .dropdown-menuélément parent de .

Tous les événements déroulants ont une relatedTargetpropriété, dont la valeur est l'élément d'ancrage basculant.

Type d'événement La description
show.bs.liste déroulante Cet événement se déclenche immédiatement lorsque la méthode d'instance show est appelée.
montré.bs.liste déroulante Cet événement est déclenché lorsque la liste déroulante a été rendue visible à l'utilisateur (attendra que les transitions CSS se terminent).
hide.bs.liste déroulante Cet événement est déclenché immédiatement lorsque la méthode d'instance de masquage a été appelée.
caché.bs.liste déroulante Cet événement est déclenché lorsque la liste déroulante a fini d'être masquée pour l'utilisateur (attendra que les transitions CSS se terminent).
$('#myDropdown').on('show.bs.dropdown', function () {
  // do something…
})

ScrollSpy scrollspy.js

Exemple dans la barre de navigation

Le plugin ScrollSpy permet de mettre à jour automatiquement les cibles de navigation en fonction de la position de défilement. Faites défiler la zone sous la barre de navigation et regardez la classe active changer. Les sous-éléments de la liste déroulante seront également mis en surbrillance.

@gros

Ad leggings keytar, brunch id art party dolor labore. Pitchfork an enim lo-fi avant qu'ils ne soient épuisés. Tumblr des droits de vélo de la ferme à la table, peu importe. Cardigan Anim keffieh carles. Le photomaton de Velit seitan mcsweeney 3 wolf moon irure. Cosby pull lomo jean shorts, williamsburg hoodie minim dont vous n'avez probablement pas entendu parler et cardigan trust fund culpa biodiesel wes anderson esthétique. Nihil accusamus tatoué, credo ironie biodiesel keffieh artisan ullamco consequat.

@mdo

Planche à roulettes à moustache Veniam marfa, barbe à fourche adipisicing fugiat velit. Freegan beard aliqua cupidatat vero de mcsweeney. Cupidatat quatre loko nisi, ea helvetica nulla carles. Camion de nourriture de pull cosby tatoué, vinyle non freegan de mcsweeney's quis. Lo-fi wes anderson +1 vestimentaire. Carles exercitation non esthétique qui s'embourgeoise. Brooklyn adipisicing bière artisanale vice keytar deserunt.

une

Occaecat commodo aliqua delectus. Planche à roulettes Fap Craft Beer Deserunt ea. Droits de bicyclette Lomo adipisicing banh mi, velit ea sunt café d'origine unique locavore de niveau supérieur dans magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sac banane durable delectus consectetur iphone.

deux

In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.

three

Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.

Keytar twee blog, sac messager culpa marfa quel que soit le food truck délectus. Sapiente synth id assumenda. Locavore sed helvetica cliché ironie, Thundercats vous n'avez probablement pas entendu parler d'eux consequat hoodie sans gluten lo-fi fap aliquip. Labore elit placeat avant qu'ils ne soient épuisés, terry richardson proident brunch nesciunt quis cosby pull pariatur keffiyeh ut helvetica artisan. Cardigan bière artisanale seitan prêt à l'emploi velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco Thundercats.

Usage

Nécessite la navigation Bootstrap

Scrollspy nécessite actuellement l'utilisation d'un composant de navigation Bootstrap pour une mise en évidence correcte des liens actifs.

Cibles d'ID résolubles requises

Les liens de la barre de navigation doivent avoir des cibles d'ID résolubles. Par exemple, un <a href="#home">home</a>doit correspondre à quelque chose dans le DOM comme <div id="home"></div>.

Éléments non :visibleciblés ignorés

Les éléments cibles qui ne sont pas :visibleconformes à jQuery seront ignorés et leurs éléments de navigation correspondants ne seront jamais mis en surbrillance.

Nécessite un positionnement relatif

Quelle que soit la méthode d'implémentation, scrollspy nécessite l'utilisation de position: relative;sur l'élément que vous espionnez. Dans la plupart des cas, il s'agit du <body>. Lors de l'espionnage de défilement sur des éléments autres que le <body>, assurez-vous d'avoir un heightensemble et overflow-y: scroll;appliqué.

Via les attributs de données

Pour ajouter facilement un comportement scrollspy à votre navigation dans la barre supérieure, ajoutez data-spy="scroll"à l'élément que vous souhaitez espionner (le plus souvent, ce serait le <body>). Ajoutez ensuite l' data-targetattribut avec l'ID ou la classe de l'élément parent de n'importe quel .navcomposant Bootstrap.

body {
  position: relative;
}
<body data-spy="scroll" data-target="#navbar-example">
  ...
  <div id="navbar-example">
    <ul class="nav nav-tabs" role="tablist">
      ...
    </ul>
  </div>
  ...
</body>

Via Javascript

Après avoir ajouté position: relative;votre CSS, appelez le scrollspy via JavaScript :

$('body').scrollspy({ target: '#navbar-example' })

Méthodes

.scrollspy('refresh')

Lorsque vous utilisez scrollspy en conjonction avec l'ajout ou la suppression d'éléments du DOM, vous devrez appeler la méthode refresh comme ceci :

$('[data-spy="scroll"]').each(function () {
  var $spy = $(this).scrollspy('refresh')
})

Choix

Les options peuvent être transmises via des attributs de données ou JavaScript. Pour les attributs de données, ajoutez le nom de l'option à data-, comme dans data-offset="".

Nom taper défaut la description
décalage Numéro dix Pixels à décaler du haut lors du calcul de la position du défilement.

Événements

Type d'événement La description
activer.bs.scrollspy Cet événement se déclenche chaque fois qu'un nouvel élément est activé par le scrollspy.
$('#myScrollspy').on('activate.bs.scrollspy', function () {
  // do something…
})

Onglets basculables tab.js

Exemples d'onglets

Ajoutez une fonctionnalité d'onglet rapide et dynamique pour passer d'un volet à l'autre du contenu local, même via des menus déroulants. Les onglets imbriqués ne sont pas pris en charge.

Denim brut, vous n'avez probablement pas entendu parler d'eux shorts en jean Austin. Nesciunt tofu sumptown aliqua, nettoyage de maître de synthé rétro. Moustache cliché tempor, williamsburg carles vegan helvetica. Reprehenderit boucher rétro keffieh dreamcatcher synthé. Cosby pull eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, boucher voluptate nisi qui.

Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.

Étend la navigation par onglets

Ce plugin étend le composant de navigation par onglets pour ajouter des zones tabulables.

Usage

Activer les onglets tabulables via JavaScript (chaque onglet doit être activé individuellement) :

$('#myTabs a').click(function (e) {
  e.preventDefault()
  $(this).tab('show')
})

Vous pouvez activer des onglets individuels de plusieurs manières :

$('#myTabs a[href="#profile"]').tab('show') // Select tab by name
$('#myTabs a:first').tab('show') // Select first tab
$('#myTabs a:last').tab('show') // Select last tab
$('#myTabs li:eq(2) a').tab('show') // Select third tab (0-indexed)

Balisage

Vous pouvez activer une navigation par onglets ou pilules sans écrire de JavaScript en spécifiant simplement data-toggle="tab"ou data-toggle="pill"sur un élément. L'ajout des classes navet à l'onglet appliquera le style de l'onglet Bootstrap , tandis que l'ajout des classes et appliquera le style de la pilule .nav-tabsulnavnav-pills

<div>

  <!-- Nav tabs -->
  <ul class="nav nav-tabs" role="tablist">
    <li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a></li>
    <li role="presentation"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">Profile</a></li>
    <li role="presentation"><a href="#messages" aria-controls="messages" role="tab" data-toggle="tab">Messages</a></li>
    <li role="presentation"><a href="#settings" aria-controls="settings" role="tab" data-toggle="tab">Settings</a></li>
  </ul>

  <!-- Tab panes -->
  <div class="tab-content">
    <div role="tabpanel" class="tab-pane active" id="home">...</div>
    <div role="tabpanel" class="tab-pane" id="profile">...</div>
    <div role="tabpanel" class="tab-pane" id="messages">...</div>
    <div role="tabpanel" class="tab-pane" id="settings">...</div>
  </div>

</div>

Effet fondu

Pour faire apparaître les onglets en fondu, ajoutez .fadeà chacun .tab-pane. Le premier volet d'onglet doit également .inrendre visible le contenu initial.

<div class="tab-content">
  <div role="tabpanel" class="tab-pane fade in active" id="home">...</div>
  <div role="tabpanel" class="tab-pane fade" id="profile">...</div>
  <div role="tabpanel" class="tab-pane fade" id="messages">...</div>
  <div role="tabpanel" class="tab-pane fade" id="settings">...</div>
</div>

Méthodes

$().tab

Active un élément d'onglet et un conteneur de contenu. L'onglet doit avoir un data-targetou un hrefciblant un nœud de conteneur dans le DOM. Dans les exemples ci-dessus, les onglets sont les <a>s avec des data-toggle="tab"attributs.

.tab('show')

Sélectionne l'onglet donné et affiche son contenu associé. Tout autre onglet précédemment sélectionné devient désélectionné et son contenu associé est masqué. Revient à l'appelant avant que le volet d'onglet ne soit réellement affiché (c'est-à-dire avant que l' shown.bs.tabévénement ne se produise).

$('#someTab').tab('show')

Événements

Lors de l'affichage d'un nouvel onglet, les événements se déclenchent dans l'ordre suivant :

  1. hide.bs.tab(sur l'onglet actuellement actif)
  2. show.bs.tab(sur l'onglet à afficher)
  3. hidden.bs.tab(sur l'onglet actif précédent, le même que pour l' hide.bs.tabévénement)
  4. shown.bs.tab(sur l'onglet nouvellement actif qui vient d'être affiché, le même que pour l' show.bs.tabévénement)

Si aucun onglet n'était déjà actif, les événements hide.bs.tabet hidden.bs.tabne seront pas déclenchés.

Type d'événement La description
show.bs.tab Cet événement se déclenche lors de l'affichage de l'onglet, mais avant l'affichage du nouvel onglet. Utilisez event.targetet event.relatedTargetpour cibler respectivement l'onglet actif et l'onglet actif précédent (si disponible).
montré.bs.tab Cet événement se déclenche lors de l'affichage d'un onglet après l'affichage d'un onglet. Utilisez event.targetet event.relatedTargetpour cibler respectivement l'onglet actif et l'onglet actif précédent (si disponible).
hide.bs.tab Cet événement se déclenche lorsqu'un nouvel onglet doit être affiché (et donc l'onglet actif précédent doit être masqué). Utilisez event.targetet event.relatedTargetpour cibler respectivement l'onglet actif actuel et le nouvel onglet qui sera bientôt actif.
onglet.bs.caché Cet événement se déclenche après l'affichage d'un nouvel onglet (et donc l'onglet actif précédent est masqué). Utilisez event.targetet event.relatedTargetpour cibler respectivement l'onglet actif précédent et le nouvel onglet actif.
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  e.target // newly activated tab
  e.relatedTarget // previous active tab
})

Info -bulles tooltip.js

Inspiré de l'excellent plugin jQuery.tipsy écrit par Jason Frame ; Les info-bulles sont une version mise à jour, qui ne repose pas sur des images, utilise CSS3 pour les animations et les attributs de données pour le stockage local des titres.

Les info-bulles avec des titres de longueur nulle ne sont jamais affichées.

Exemples

Passez la souris sur les liens ci-dessous pour afficher les info-bulles :

Pantalons serrés de niveau supérieur keffieh dont vous n'avez probablement pas entendu parler. Photomaton beard raw denim letterpress vegan messenger bag sumptown. Du seitan de la ferme à la table, les vêtements américains fixie quinoa 8 bits durables de mcsweeney ont un chambray en vinyle terry richardson. Beard Stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, quatre loko mcsweeney's clean chambray végétalien. Un artisan vraiment ironique quel que soit le keytar , Scenester farm-to-table banksy Austin twitter handle freegan cred denim brut café d'origine unique viral.

Info-bulle statique

Quatre options sont disponibles : aligné en haut, à droite, en bas et à gauche.

Quatre directions

<button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="left" title="Tooltip on left">Tooltip on left</button>

<button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="top" title="Tooltip on top">Tooltip on top</button>

<button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom">Tooltip on bottom</button>

<button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="right" title="Tooltip on right">Tooltip on right</button>

Fonctionnalité d'inscription

Pour des raisons de performances, les API de données Tooltip et Popover sont opt-in, ce qui signifie que vous devez les initialiser vous -même .

Une façon d'initialiser toutes les info-bulles sur une page serait de les sélectionner par leur data-toggleattribut :

$(function () {
  $('[data-toggle="tooltip"]').tooltip()
})

Usage

Le plug-in d'info-bulle génère du contenu et du balisage à la demande, et place par défaut les info-bulles après leur élément déclencheur.

Déclenchez l'info-bulle via JavaScript :

$('#example').tooltip(options)

Balisage

Le balisage requis pour une info-bulle n'est qu'un dataattribut et titlesur l'élément HTML, vous souhaitez avoir une info-bulle. Le balisage généré d'une info-bulle est assez simple, bien qu'il nécessite une position (par défaut, définie toppar le plugin).

<!-- HTML to write -->
<a href="#" data-toggle="tooltip" title="Some tooltip text!">Hover over me</a>

<!-- Generated markup by the plugin -->
<div class="tooltip top" role="tooltip">
  <div class="tooltip-arrow"></div>
  <div class="tooltip-inner">
    Some tooltip text!
  </div>
</div>

Liens multilignes

Parfois, vous souhaitez ajouter une info-bulle à un lien hypertexte qui englobe plusieurs lignes. Le comportement par défaut du plugin tooltip est de le centrer horizontalement et verticalement. Ajoutez white-space: nowrap;à vos ancres pour éviter cela.

Les info-bulles dans les groupes de boutons, les groupes d'entrée et les tableaux nécessitent un réglage spécial

Lorsque vous utilisez des info-bulles sur des éléments dans un .btn-groupou un .input-group, ou sur des éléments liés à un tableau ( <td>, <th>, <tr>, <thead>, <tbody>, <tfoot>), vous devrez spécifier l'option container: 'body'(documentée ci-dessous) pour éviter les effets secondaires indésirables (tels que l'élément s'élargit et/ ou perdre ses coins arrondis lorsque l'info-bulle est déclenchée).

N'essayez pas d'afficher des info-bulles sur les éléments cachés

Invoquer $(...).tooltip('show')lorsque l'élément cible est display: none;entraînera un positionnement incorrect de l'info-bulle.

Info-bulles accessibles pour les utilisateurs de clavier et de technologie d'assistance

Pour les utilisateurs naviguant avec un clavier, et en particulier les utilisateurs de technologies d'assistance, vous ne devez ajouter des info-bulles qu'aux éléments pouvant être activés au clavier, tels que des liens, des contrôles de formulaire ou tout élément arbitraire avec un tabindex="0"attribut.

Les info-bulles sur les éléments désactivés nécessitent des éléments wrapper

Pour ajouter une info-bulle à un élément disabledou .disabled, placez l'élément à l'intérieur de a <div>et appliquez-y l'info-bulle à la <div>place.

Choix

Les options peuvent être transmises via des attributs de données ou JavaScript. Pour les attributs de données, ajoutez le nom de l'option à data-, comme dans data-animation="".

Notez que pour des raisons de sécurité, les options sanitize, sanitizeFnet ne peuvent pas être fournies à l'aide d'attributs de données.whiteList

Nom Taper Défaut La description
animation booléen vrai Appliquer une transition de fondu CSS à l'info-bulle
récipient chaîne | faux faux

Ajoute l'info-bulle à un élément spécifique. Exemple : container: 'body'. Cette option est particulièrement utile car elle permet de positionner l'infobulle dans le flux du document à proximité de l'élément déclencheur - ce qui empêchera l'infobulle de s'éloigner de l'élément déclencheur lors d'un redimensionnement de fenêtre.

retard nombre | objet 0

Délai d'affichage et de masquage de l'info-bulle (ms) - ne s'applique pas au type de déclenchement manuel

Si un nombre est fourni, un délai est appliqué à la fois pour masquer/afficher

La structure de l'objet est :delay: { "show": 500, "hide": 100 }

html booléen faux Insérez du code HTML dans l'info-bulle. Si false, la méthode de jQuery textsera utilisée pour insérer du contenu dans le DOM. Utilisez du texte si vous craignez les attaques XSS.
placement chaîne | fonction 'Haut'

Comment positionner l'infobulle - top | bas | gauche | droite | auto.
Lorsque "auto" est spécifié, il réorientera dynamiquement l'info-bulle. Par exemple, si le placement est "auto à gauche", l'info-bulle s'affichera à gauche lorsque cela sera possible, sinon elle s'affichera à droite.

Lorsqu'une fonction est utilisée pour déterminer le placement, elle est appelée avec le nœud DOM de l'info-bulle comme premier argument et le nœud DOM de l'élément déclencheur comme second. Le thiscontexte est défini sur l'instance d'info-bulle.

sélecteur chaîne de caractères faux Si un sélecteur est fourni, les objets d'info-bulle seront délégués aux cibles spécifiées. En pratique, cela est utilisé pour appliquer également des info-bulles aux éléments DOM ajoutés dynamiquement ( jQuery.onsupport). Voir ceci et un exemple informatif .
modèle chaîne de caractères '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'

HTML de base à utiliser lors de la création de l'info-bulle.

Les info-bulles titleseront injectées dans le fichier .tooltip-inner.

.tooltip-arrowdeviendra la flèche de l'info-bulle.

L'élément wrapper le plus externe doit avoir la .tooltipclasse.

Titre chaîne | fonction ''

Valeur de titre par défaut si titlel'attribut n'est pas présent.

Si une fonction est donnée, elle sera appelée avec sa thisréférence définie sur l'élément auquel l'info-bulle est attachée.

gâchette chaîne de caractères 'survoler la mise au point' Comment l'info-bulle est déclenchée - cliquez sur | planer | concentrer | manuel. Vous pouvez passer plusieurs déclencheurs ; séparez-les par un espace. manualne peut être combiné avec aucun autre déclencheur.
fenêtre chaîne | objet | fonction { sélecteur : 'corps', rembourrage : 0 }

Maintient l'info-bulle dans les limites de cet élément. Exemple : viewport: '#viewport'ou{ "selector": "#viewport", "padding": 0 }

Si une fonction est donnée, elle est appelée avec le nœud DOM de l'élément déclencheur comme seul argument. Le thiscontexte est défini sur l'instance d'info-bulle.

désinfecter booléen vrai Activez ou désactivez la désinfection. Si elles sont activées 'template', les options 'content'et 'title'seront désinfectées.
liste blanche objet Valeur par défaut Objet qui contient des attributs et des balises autorisés
assainirFn nul | fonction nul Ici, vous pouvez fournir votre propre fonction de désinfection. Cela peut être utile si vous préférez utiliser une bibliothèque dédiée pour effectuer la désinfection.

Attributs de données pour les info-bulles individuelles

Les options des info-bulles individuelles peuvent également être spécifiées via l'utilisation d'attributs de données, comme expliqué ci-dessus.

Méthodes

$().tooltip(options)

Attache un gestionnaire d'info-bulles à une collection d'éléments.

.tooltip('show')

Révèle l'info-bulle d'un élément. Revient à l'appelant avant que l'info-bulle ne soit réellement affichée (c'est-à-dire avant que l' shown.bs.tooltipévénement ne se produise). Ceci est considéré comme un déclenchement "manuel" de l'info-bulle. Les info-bulles avec des titres de longueur nulle ne sont jamais affichées.

$('#element').tooltip('show')

.tooltip('hide')

Masque l'info-bulle d'un élément. Retourne à l'appelant avant que l'info-bulle n'ait été masquée (c'est-à-dire avant que l' hidden.bs.tooltipévénement ne se produise). Ceci est considéré comme un déclenchement "manuel" de l'info-bulle.

$('#element').tooltip('hide')

.tooltip('toggle')

Bascule l'info-bulle d'un élément. Revient à l'appelant avant que l'info-bulle n'ait été réellement affichée ou masquée (c'est-à-dire avant que l' événement shown.bs.tooltipou ne hidden.bs.tooltipse produise). Ceci est considéré comme un déclenchement "manuel" de l'info-bulle.

$('#element').tooltip('toggle')

.tooltip('destroy')

Masque et détruit l'info-bulle d'un élément. Les info-bulles qui utilisent la délégation (qui sont créées à l'aide de l' selectoroption ) ne peuvent pas être détruites individuellement sur les éléments déclencheurs descendants.

$('#element').tooltip('destroy')

Événements

Type d'événement La description
show.bs.tooltip Cet événement se déclenche immédiatement lorsque la showméthode d'instance est appelée.
montré.bs.info-bulle Cet événement est déclenché lorsque l'info-bulle a été rendue visible à l'utilisateur (il attendra que les transitions CSS soient terminées).
hide.bs.tooltip Cet événement est déclenché immédiatement lorsque la hideméthode d'instance a été appelée.
info-bulle.bs.caché Cet événement est déclenché lorsque l'info-bulle a fini d'être masquée pour l'utilisateur (attendra que les transitions CSS soient terminées).
inséré.bs.tooltip Cet événement est déclenché après l' show.bs.tooltipévénement lorsque le modèle d'info-bulle a été ajouté au DOM.
$('#myTooltip').on('hidden.bs.tooltip', function () {
  // do something…
})

Popovers popover.js

Ajoutez de petites superpositions de contenu, comme celles de l'iPad, à n'importe quel élément pour héberger des informations secondaires.

Les popovers dont le titre et le contenu sont de longueur nulle ne sont jamais affichés.

Dépendance aux plugins

Les popovers nécessitent que le plug -in d'info-bulle soit inclus dans votre version de Bootstrap.

Fonctionnalité d'inscription

Pour des raisons de performances, les API de données Tooltip et Popover sont opt-in, ce qui signifie que vous devez les initialiser vous -même .

Une façon d'initialiser tous les popovers sur une page serait de les sélectionner par leur data-toggleattribut :

$(function () {
  $('[data-toggle="popover"]').popover()
})

Les popovers dans les groupes de boutons, les groupes d'entrée et les tableaux nécessitent un réglage spécial

Lors de l'utilisation de popovers sur des éléments dans un .btn-groupou un .input-group, ou sur des éléments liés à un tableau ( <td>,<th> , <tr>, <thead>, <tbody>, <tfoot>), vous devrez spécifier l'option container: 'body'(documentée ci-dessous) pour éviter les effets secondaires indésirables (tels que l'élément s'élargissant et/ ou perdre ses coins arrondis lorsque le popover est déclenché).

N'essayez pas d'afficher des popovers sur des éléments masqués

Invoquer $(...).popover('show')lorsque l'élément cible est display: none;entraînera un positionnement incorrect du popover.

Les popovers sur les éléments désactivés nécessitent des éléments wrapper

Pour ajouter un popover à un élément disabledou .disabled, placez l'élément à l'intérieur d'un<div> et appliquez le popover à celui-ci à la <div>place.

Liens multilignes

Parfois, vous souhaitez ajouter un popover à un lien hypertexte qui englobe plusieurs lignes. Le comportement par défaut du plugin popover est de le centrer horizontalement et verticalement. Ajouterwhite-space: nowrap; à vos ancres pour éviter cela.

Exemples

Popover statique

Quatre options sont disponibles : aligné en haut, à droite, en bas et à gauche.

Haut à enfiler

Sed posuere consectetur est à lobortis. Énée eu leo ​​quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

Popover à droite

Sed posuere consectetur est à lobortis. Énée eu leo ​​quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

Bas à enfiler

Sed posuere consectetur est à lobortis. Énée eu leo ​​quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

Popover à gauche

Sed posuere consectetur est à lobortis. Énée eu leo ​​quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

Démo en direct

<button type="button" class="btn btn-lg btn-danger" data-toggle="popover" title="Popover title" data-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>

Quatre directions

<button type="button" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="left" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
  Popover on left
</button>

<button type="button" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="top" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
  Popover on top
</button>

<button type="button" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Vivamus
sagittis lacus vel augue laoreet rutrum faucibus.">
  Popover on bottom
</button>

<button type="button" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="right" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
  Popover on right
</button>

Ignorer au prochain clic

Utilisez le focusdéclencheur pour ignorer les popovers au prochain clic effectué par l'utilisateur.

Balisage spécifique requis pour le rejet au prochain clic

Pour un comportement correct entre navigateurs et plates-formes, vous devez utiliser la <a>balise, et non la <button>balise, et vous devez également inclure les attributs role="button"et .tabindex

<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-toggle="popover" data-trigger="focus" title="Dismissible popover" data-content="And here's some amazing content. It's very engaging. Right?">Dismissible popover</a>

Usage

Activez les popovers via JavaScript :

$('#example').popover(options)

Choix

Les options peuvent être transmises via des attributs de données ou JavaScript. Pour les attributs de données, ajoutez le nom de l'option à data-, comme dans data-animation="".

Notez que pour des raisons de sécurité, les options sanitize, sanitizeFnet ne peuvent pas être fournies à l'aide d'attributs de données.whiteList

Nom Taper Défaut La description
animation booléen vrai Appliquer une transition de fondu CSS au popover
récipient chaîne | faux faux

Ajoute le popover à un élément spécifique. Exemple : container: 'body'. Cette option est particulièrement utile car elle permet de positionner le popover dans le flux du document près de l'élément déclencheur - ce qui empêchera le popover de s'éloigner de l'élément déclencheur lors d'un redimensionnement de fenêtre.

contenu chaîne | fonction ''

Valeur de contenu par défaut si data-contentl'attribut n'est pas présent.

Si une fonction est donnée, elle sera appelée avec sa thisréférence définie sur l'élément auquel le popover est attaché.

retard nombre | objet 0

Délai d'affichage et de masquage du popover (ms) - ne s'applique pas au type de déclenchement manuel

Si un nombre est fourni, un délai est appliqué à la fois pour masquer/afficher

La structure de l'objet est :delay: { "show": 500, "hide": 100 }

html booléen faux Insérez HTML dans le popover. Si false, la méthode de jQuery textsera utilisée pour insérer du contenu dans le DOM. Utilisez du texte si vous craignez les attaques XSS.
placement chaîne | fonction 'droit'

Comment positionner le popover - top | bas | gauche | droite | auto.
Lorsque "auto" est spécifié, il réorientera dynamiquement le popover. Par exemple, si le placement est "auto à gauche", le popover s'affichera à gauche lorsque cela sera possible, sinon il s'affichera à droite.

Lorsqu'une fonction est utilisée pour déterminer le placement, elle est appelée avec le nœud DOM popover comme premier argument et le nœud DOM de l'élément déclencheur comme second. Le thiscontexte est défini sur l'instance de popover.

sélecteur chaîne de caractères faux Si un sélecteur est fourni, les objets popover seront délégués aux cibles spécifiées. En pratique, cela est utilisé pour permettre au contenu HTML dynamique d'avoir des popovers ajoutés. Voir ceci et un exemple informatif .
modèle chaîne de caractères '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'

HTML de base à utiliser lors de la création du popover.

Les popovers titleseront injectés dans le fichier .popover-title.

Les popovers contentseront injectés dans le fichier .popover-content.

.arrowdeviendra la flèche du popover.

L'élément wrapper le plus externe doit avoir la .popoverclasse.

Titre chaîne | fonction ''

Valeur de titre par défaut si titlel'attribut n'est pas présent.

Si une fonction est donnée, elle sera appelée avec sa thisréférence définie sur l'élément auquel le popover est attaché.

gâchette chaîne de caractères 'Cliquez sur' Comment le popover est déclenché - cliquez | planer | concentrer | manuel. Vous pouvez passer plusieurs déclencheurs ; séparez-les par un espace. manualne peut être combiné avec aucun autre déclencheur.
fenêtre chaîne | objet | fonction { sélecteur : 'corps', rembourrage : 0 }

Maintient le popover dans les limites de cet élément. Exemple : viewport: '#viewport'ou{ "selector": "#viewport", "padding": 0 }

Si une fonction est donnée, elle est appelée avec le nœud DOM de l'élément déclencheur comme seul argument. Le thiscontexte est défini sur l'instance de popover.

désinfecter booléen vrai Activez ou désactivez la désinfection. Si elles sont activées 'template', les options 'content'et 'title'seront désinfectées.
liste blanche objet Valeur par défaut Objet qui contient des attributs et des balises autorisés
assainirFn nul | fonction nul Ici, vous pouvez fournir votre propre fonction de désinfection. Cela peut être utile si vous préférez utiliser une bibliothèque dédiée pour effectuer la désinfection.

Attributs de données pour les popovers individuels

Les options pour les popovers individuels peuvent également être spécifiées via l'utilisation d'attributs de données, comme expliqué ci-dessus.

Méthodes

$().popover(options)

Initialise les popovers pour une collection d'éléments.

.popover('show')

Révèle le popover d'un élément. Retourne à l'appelant avant que le popover n'ait été affiché (c'est-à-dire avant que l' shown.bs.popoverévénement ne se produise). Ceci est considéré comme un déclenchement "manuel" du popover. Les popovers dont le titre et le contenu sont de longueur nulle ne sont jamais affichés.

$('#element').popover('show')

.popover('hide')

Masque le popover d'un élément. Retourne à l'appelant avant que le popover n'ait été masqué (c'est-à-dire avant que l' hidden.bs.popoverévénement ne se produise). Ceci est considéré comme un déclenchement "manuel" du popover.

$('#element').popover('hide')

.popover('toggle')

Bascule le popover d'un élément. Revient à l'appelant avant que le popover n'ait été réellement affiché ou masqué (c'est-à-dire avant que l' événement shown.bs.popoverou ne hidden.bs.popoverse produise). Ceci est considéré comme un déclenchement "manuel" du popover.

$('#element').popover('toggle')

.popover('destroy')

Masque et détruit le popover d'un élément. Les popovers qui utilisent la délégation (créés à l'aide de l' selectoroption ) ne peuvent pas être détruits individuellement sur les éléments déclencheurs descendants.

$('#element').popover('destroy')

Événements

Type d'événement La description
show.bs.popover Cet événement se déclenche immédiatement lorsque la showméthode d'instance est appelée.
montré.bs.popover Cet événement est déclenché lorsque le popover a été rendu visible à l'utilisateur (il attendra que les transitions CSS soient terminées).
hide.bs.popover Cet événement est déclenché immédiatement lorsque la hideméthode d'instance a été appelée.
caché.bs.popover Cet événement est déclenché lorsque le popover a fini d'être caché à l'utilisateur (il attendra que les transitions CSS soient terminées).
inséré.bs.popover Cet événement est déclenché après l' show.bs.popoverévénement lorsque le modèle de popover a été ajouté au DOM.
$('#myPopover').on('hidden.bs.popover', function () {
  // do something…
})

Messages d'alerte alert.js

Exemples d'alertes

Ajoutez la fonctionnalité de rejet à tous les messages d'alerte avec ce plugin.

Lorsque vous utilisez un .closebouton, il doit être le premier enfant de .alert-dismissibleet aucun contenu textuel ne peut le précéder dans le balisage.

Usage

Ajoutez simplement data-dismiss="alert"à votre bouton de fermeture pour donner automatiquement une fonctionnalité de fermeture d'alerte. La fermeture d'une alerte la supprime du DOM.

<button type="button" class="close" data-dismiss="alert" aria-label="Close">
  <span aria-hidden="true">&times;</span>
</button>

Pour que vos alertes utilisent une animation lors de la fermeture, assurez-vous que les classes .fadeet leur .insont déjà appliquées.

Méthodes

$().alert()

Fait en sorte qu'une alerte écoute les événements de clic sur les éléments descendants qui ont l' data-dismiss="alert"attribut. (Pas nécessaire lors de l'utilisation de l'initialisation automatique de l'API de données.)

$().alert('close')

Ferme une alerte en la supprimant du DOM. Si les classes .fadeet .insont présentes sur l'élément, l'alerte disparaîtra avant d'être supprimée.

Événements

Le plugin d'alerte de Bootstrap expose quelques événements pour se connecter à la fonctionnalité d'alerte.

Type d'événement La description
close.bs.alert Cet événement se déclenche immédiatement lorsque la closeméthode d'instance est appelée.
alerte.bs.fermée Cet événement est déclenché lorsque l'alerte a été fermée (attendra que les transitions CSS soient terminées).
$('#myAlert').on('closed.bs.alert', function () {
  // do something…
})

Boutons bouton.js

Faites-en plus avec les boutons. Contrôlez les états des boutons ou créez des groupes de boutons pour plus de composants comme les barres d'outils.

Compatibilité entre navigateurs

Firefox conserve les états de contrôle de formulaire (désactivation et vérification) à travers les chargements de page . Une solution de contournement consiste à utiliser autocomplete="off". Voir le bogue Mozilla #654072 .

Avec état

Ajouter data-loading-text="Loading..."pour utiliser un état de chargement sur un bouton.

Cette fonctionnalité est obsolète depuis la v3.3.5 et a été supprimée dans la v4.

Utilisez l'état que vous aimez !

Pour les besoins de cette démonstration, nous utilisons data-loading-textand $().button('loading'), mais ce n'est pas le seul état que vous pouvez utiliser. Voir plus à ce sujet ci-dessous dans la $().button(string)documentation .

<button type="button" id="myButton" data-loading-text="Loading..." class="btn btn-primary">
  Loading state
</button>

<script>
  $('#myButton').on('click', function () {
    var $btn = $(this).button('loading')
    // business logic...
    $btn.button('reset')
  })
</script>

Bascule unique

Ajouter data-toggle="button"pour activer le basculement sur un seul bouton.

Les boutons pré-basculés ont besoin .activeetaria-pressed="true"

Pour les boutons pré-basculés, vous devez ajouter la .activeclasse et l' aria-pressed="true"attribut à buttonvous-même.

<button type="button" class="btn btn-primary" data-toggle="button" aria-pressed="false">
  Single toggle
</button>

Case à cocher / Radio

Ajoutez data-toggle="buttons"à une case à .btn-groupcocher contenant ou des entrées radio pour activer le basculement dans leurs styles respectifs.

Les options présélectionnées nécessitent.active

Pour les options présélectionnées, vous devez ajouter vous-même la .activeclasse aux entrées label.

État vérifié visuel uniquement mis à jour au clic

Si l'état coché d'un bouton de case à cocher est mis à jour sans déclencher d' clickévénement sur le bouton (par exemple via <input type="reset">ou via la définition de la checkedpropriété de l'entrée), vous devrez basculer la .activeclasse sur l'entrée labelvous-même.

<div class="btn-group" data-toggle="buttons">
  <label class="btn btn-primary active">
    <input type="checkbox" checked> Checkbox 1 (pre-checked)
  </label>
  <label class="btn btn-primary">
    <input type="checkbox"> Checkbox 2
  </label>
  <label class="btn btn-primary">
    <input type="checkbox"> Checkbox 3
  </label>
</div>
<div class="btn-group" data-toggle="buttons">
  <label class="btn btn-primary active">
    <input type="radio" name="options" id="option1" checked> Radio 1 (preselected)
  </label>
  <label class="btn btn-primary">
    <input type="radio" name="options" id="option2"> Radio 2
  </label>
  <label class="btn btn-primary">
    <input type="radio" name="options" id="option3"> Radio 3
  </label>
</div>

Méthodes

$().button('toggle')

Bascule l'état de poussée. Donne au bouton l'apparence qu'il a été activé.

$().button('reset')

Réinitialise l'état du bouton - remplace le texte par le texte d'origine. Cette méthode est asynchrone et revient avant que la réinitialisation ne soit réellement terminée.

$().button(string)

Échange le texte vers n'importe quel état de texte défini par les données.

<button type="button" id="myStateButton" data-complete-text="finished!" class="btn btn-primary">
  ...
</button>

<script>
  $('#myStateButton').on('click', function () {
    $(this).button('complete') // button text will be "finished!"
  })
</script>

Collapse collapse.js

Plugin flexible qui utilise une poignée de classes pour un comportement de basculement facile.

Dépendance aux plugins

Collapse nécessite que le plug -in de transitions soit inclus dans votre version de Bootstrap.

Exemple

Cliquez sur les boutons ci-dessous pour afficher et masquer un autre élément via les changements de classe :

  • .collapsemasque le contenu
  • .collapsingest appliqué pendant les transitions
  • .collapse.inaffiche le contenu

Vous pouvez utiliser un lien avec l' hrefattribut, ou un bouton avec l' data-targetattribut. Dans les deux cas, le data-toggle="collapse"est obligatoire.

Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident.
<a class="btn btn-primary" role="button" data-toggle="collapse" href="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
  Link with href
</a>
<button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseExample" aria-expanded="false" aria-controls="collapseExample">
  Button with data-target
</button>
<div class="collapse" id="collapseExample">
  <div class="well">
    ...
  </div>
</div>

Exemple d'accordéon

Étendez le comportement de réduction par défaut pour créer un accordéon avec le composant de panneau.

Anim pariatur cliché reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, brunch dolor skateboard non cupidatat. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua met un oiseau dessus calamar café d'origine unique nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, bière artisanale labore wes anderson cred nesciunt sapiente ea proident. Annonce vegan excepteur boucher vice lomo. Leggings occaecat bière artisanale de la ferme à la table, synthé esthétique denim brut dont vous n'avez probablement pas entendu parler accusamus labore VHS durable.
Anim pariatur cliché reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, brunch dolor skateboard non cupidatat. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua met un oiseau dessus calamar café d'origine unique nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, bière artisanale labore wes anderson cred nesciunt sapiente ea proident. Annonce vegan excepteur boucher vice lomo. Leggings occaecat bière artisanale de la ferme à la table, synthé esthétique denim brut dont vous n'avez probablement pas entendu parler accusamus labore VHS durable.
Anim pariatur cliché reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, brunch dolor skateboard non cupidatat. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua met un oiseau dessus calamar café d'origine unique nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, bière artisanale labore wes anderson cred nesciunt sapiente ea proident. Annonce vegan excepteur boucher vice lomo. Leggings occaecat bière artisanale de la ferme à la table, synthé esthétique denim brut dont vous n'avez probablement pas entendu parler accusamus labore VHS durable.
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
  <div class="panel panel-default">
    <div class="panel-heading" role="tab" id="headingOne">
      <h4 class="panel-title">
        <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
          Collapsible Group Item #1
        </a>
      </h4>
    </div>
    <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading" role="tab" id="headingTwo">
      <h4 class="panel-title">
        <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
          Collapsible Group Item #2
        </a>
      </h4>
    </div>
    <div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading" role="tab" id="headingThree">
      <h4 class="panel-title">
        <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
          Collapsible Group Item #3
        </a>
      </h4>
    </div>
    <div id="collapseThree" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingThree">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
</div>

Il est également possible d'échanger .panel-bodys avec .list-groups.

  • Bootply
  • Une installation itmus ac
  • Deuxième éros

Rendre les commandes de développement/réduction accessibles

Assurez-vous d'ajouter aria-expandedà l'élément de contrôle. Cet attribut définit explicitement l'état actuel de l'élément pliable pour les lecteurs d'écran et les technologies d'assistance similaires. Si l'élément réductible est fermé par défaut, il doit avoir la valeur aria-expanded="false". Si vous avez défini l'élément pliable pour qu'il soit ouvert par défaut à l'aide de la inclasse, définissez aria-expanded="true"-le plutôt sur le contrôle. Le plugin basculera automatiquement cet attribut selon que l'élément réductible a été ouvert ou fermé ou non.

De plus, si votre élément de contrôle cible un seul élément pliable - c'est-à-dire que l' data-targetattribut pointe vers un idsélecteur - vous pouvez ajouter un aria-controlsattribut supplémentaire à l'élément de contrôle, contenant le idde l'élément pliable. Les lecteurs d'écran modernes et les technologies d'assistance similaires utilisent cet attribut pour fournir aux utilisateurs des raccourcis supplémentaires pour accéder directement à l'élément pliable lui-même.

Usage

Le plugin d'effondrement utilise quelques classes pour gérer le gros du travail :

  • .collapsecache le contenu
  • .collapse.inaffiche le contenu
  • .collapsingest ajouté lorsque la transition démarre et supprimé lorsqu'elle se termine

Ces cours se trouvent dans component-animations.less.

Via les attributs de données

Ajoutez simplement data-toggle="collapse"et data-targetà l'élément pour attribuer automatiquement le contrôle d'un élément pliable. L' data-targetattribut accepte un sélecteur CSS auquel appliquer le repli. Assurez-vous d'ajouter la classe collapseà l'élément réductible. Si vous souhaitez qu'il s'ouvre par défaut, ajoutez la classe supplémentairein .

Pour ajouter une gestion de groupe en accordéon à un contrôle réductible, ajoutez l'attribut de donnéesdata-parent="#selector" . Reportez-vous à la démo pour voir cela en action.

Via Javascript

Activer manuellement avec :

$('.collapse').collapse()

Choix

Les options peuvent être transmises via des attributs de données ou JavaScript. Pour les attributs de données, ajoutez le nom de l'option à data-, comme dans data-parent="".

Nom taper défaut la description
parent sélecteur faux Si un sélecteur est fourni, tous les éléments réductibles sous le parent spécifié seront fermés lorsque cet élément réductible est affiché. (similaire au comportement d'accordéon traditionnel - cela dépend de la panelclasse)
basculer booléen vrai Bascule l'élément réductible à l'appel

Méthodes

.collapse(options)

Active votre contenu en tant qu'élément pliable. Accepte une option facultativeobject .

$('#myCollapsible').collapse({
  toggle: false
})

.collapse('toggle')

Bascule un élément réductible sur affiché ou masqué. Renvoie à l'appelant avant que l'élément réductible n'ait été réellement affiché ou masqué (c'est-à-dire avant que l' événement shown.bs.collapseou ne hidden.bs.collapsese produise).

.collapse('show')

Affiche un élément réductible. Renvoie à l'appelant avant que l'élément réductible n'ait été réellement affiché (c'est-à-dire avant que l' shown.bs.collapseévénement ne se produise).

.collapse('hide')

Masque un élément pliable. Renvoie à l'appelant avant que l'élément réductible ait été masqué (c'est-à-dire avant que l' hidden.bs.collapseévénement ne se produise).

Événements

La classe d'effondrement de Bootstrap expose quelques événements pour se connecter à la fonctionnalité d'effondrement.

Type d'événement La description
show.bs.collapse Cet événement se déclenche immédiatement lorsque la showméthode d'instance est appelée.
montré.bs.réduire Cet événement est déclenché lorsqu'un élément de repli a été rendu visible à l'utilisateur (il attendra que les transitions CSS soient terminées).
hide.bs.collapse Cet événement est déclenché immédiatement lorsque la hideméthode a été appelée.
caché.bs.effondrement Cet événement est déclenché lorsqu'un élément de repli a été masqué à l'utilisateur (il attendra que les transitions CSS soient terminées).
$('#myCollapsible').on('hidden.bs.collapse', function () {
  // do something…
})

Carrousel carrousel.js

Un composant de diaporama pour faire défiler les éléments, comme un carrousel. Les carrousels imbriqués ne sont pas pris en charge.

<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
  <!-- Indicators -->
  <ol class="carousel-indicators">
    <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
    <li data-target="#carousel-example-generic" data-slide-to="1"></li>
    <li data-target="#carousel-example-generic" data-slide-to="2"></li>
  </ol>

  <!-- Wrapper for slides -->
  <div class="carousel-inner" role="listbox">
    <div class="item active">
      <img src="..." alt="...">
      <div class="carousel-caption">
        ...
      </div>
    </div>
    <div class="item">
      <img src="..." alt="...">
      <div class="carousel-caption">
        ...
      </div>
    </div>
    ...
  </div>

  <!-- Controls -->
  <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
    <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>

Légendes facultatives

Ajoutez facilement des légendes à vos diapositives avec l' .carousel-captionélément dans n'importe quel fichier .item. Placez-y à peu près n'importe quel code HTML facultatif et il sera automatiquement aligné et formaté.

<div class="item">
  <img src="..." alt="...">
  <div class="carousel-caption">
    <h3>...</h3>
    <p>...</p>
  </div>
</div>

Plusieurs carrousels

Les carrousels nécessitent l'utilisation d'un idsur le conteneur le plus à l'extérieur (le .carousel) pour que les commandes du carrousel fonctionnent correctement. Lors de l'ajout de plusieurs carrousels ou lors de la modification d'un carrouselid , assurez-vous de mettre à jour les contrôles pertinents.

Via les attributs de données

Utilisez les attributs de données pour contrôler facilement la position du carrousel. data-slideaccepte les mots clés prevou next, qui modifient la position de la diapositive par rapport à sa position actuelle. Vous pouvez également utiliser data-slide-topour transmettre un index de diapositive brut au carrousel data-slide-to="2", ce qui déplace la position de la diapositive vers un index particulier commençant par0 .

L' data-ride="carousel"attribut est utilisé pour marquer un carrousel comme s'animant à partir du chargement de la page. Il ne peut pas être utilisé en combinaison avec une initialisation JavaScript explicite (redondante et inutile) du même carrousel.

Via Javascript

Appelez le carrousel manuellement avec :

$('.carousel').carousel()

Les options peuvent être transmises via des attributs de données ou JavaScript. Pour les attributs de données, ajoutez le nom de l'option à data-, comme dans data-interval="".

Nom taper défaut la description
intervalle Numéro 5000 La durée de délai entre le cycle automatique d'un élément. Si false, le carrousel ne cyclera pas automatiquement.
pause chaîne | nul "flotter" Si réglé sur "hover", interrompt le cycle du carrousel sur mouseenteret reprend le cycle du carrousel sur mouseleave. S'il est défini sur null, passer la souris sur le carrousel ne le mettra pas en pause.
envelopper booléen vrai Si le carrousel doit tourner en continu ou avoir des arrêts brusques.
clavier booléen vrai Indique si le carrousel doit réagir aux événements du clavier.

Initialise le carrousel avec des options facultatives objectet commence à parcourir les éléments.

$('.carousel').carousel({
  interval: 2000
})

Fait défiler les éléments du carrousel de gauche à droite.

Empêche le carrousel de parcourir les éléments.

Fait passer le carrousel à une image particulière (base 0, similaire à un tableau).

Passe à l'élément précédent.

Passe à l'élément suivant.

La classe de carrousel de Bootstrap expose deux événements pour se connecter à la fonctionnalité de carrousel.

Les deux événements ont les propriétés supplémentaires suivantes :

  • direction: La direction dans laquelle le carrousel glisse ( "left"ou "right").
  • relatedTarget: L'élément DOM qui est mis en place en tant qu'élément actif.

Tous les événements du carrousel sont déclenchés sur le carrousel lui-même (c'est-à-dire sur le <div class="carousel">).

Type d'événement La description
diapositive.bs.carrousel Cet événement se déclenche immédiatement lorsque la slideméthode d'instance est invoquée.
glissé.bs.carrousel Cet événement est déclenché lorsque le carrousel a terminé sa transition de diapositive.
$('#myCarousel').on('slide.bs.carousel', function () {
  // do something…
})

Affixer affixe.js

Exemple

Le plugin d'affixe basculeposition: fixed; et se désactive, émulant l'effet trouvé avec position: sticky;. La sous-navigation sur la droite est une démonstration en direct du plugin d'affixe.


Usage

Utilisez le plugin d'affixe via des attributs de données ou manuellement avec votre propre JavaScript.Dans les deux cas, vous devez fournir du CSS pour le positionnement et la largeur de votre contenu apposé.

Remarque : N'utilisez pas le plug-in d'affixe sur un élément contenu dans un élément relativement positionné, comme une colonne tirée ou poussée, en raison d'un bogue de rendu Safari .

Positionnement via CSS

Le plugin d'affixe bascule entre trois classes, chacune représentant un état particulier : .affix, .affix-top, et .affix-bottom. Vous devez fournir les styles, à l'exception de position: fixed;sur.affix , pour ces classes vous-même (indépendamment de ce plugin) pour gérer les positions réelles.

Voici comment fonctionne le plugin d'affixe :

  1. Pour commencer, le plugin ajoute.affix-top pour indiquer que l'élément est dans sa position la plus élevée. À ce stade, aucun positionnement CSS n'est requis.
  2. Faire défiler l'élément que vous souhaitez apposer devrait déclencher l'apposition réelle. C'est là que .affixremplace .affix-topet définit position: fixed;(fourni par le CSS de Bootstrap).
  3. Si un décalage inférieur est défini, le faire défiler doit le remplacer .affixpar .affix-bottom. Étant donné que les décalages sont facultatifs, en définir un nécessite que vous définissiez le CSS approprié. Dans ce cas, ajoutez position: absolute;si nécessaire. Le plugin utilise l'attribut de données ou l'option JavaScript pour déterminer où positionner l'élément à partir de là.

Suivez les étapes ci-dessus pour définir votre CSS pour l'une des options d'utilisation ci-dessous.

Via les attributs de données

Pour ajouter facilement un comportement d'affixe à n'importe quel élément, ajoutez simplementdata-spy="affix" à l'élément que vous souhaitez espionner. Utilisez les décalages pour définir quand basculer l'épinglage d'un élément.

<div data-spy="affix" data-offset-top="60" data-offset-bottom="200">
  ...
</div>

Via Javascript

Appelez le plug-in d'affixe via JavaScript :

$('#myAffix').affix({
  offset: {
    top: 100,
    bottom: function () {
      return (this.bottom = $('.footer').outerHeight(true))
    }
  }
})

Choix

Les options peuvent être transmises via des attributs de données ou JavaScript. Pour les attributs de données, ajoutez le nom de l'option à data-, comme dans data-offset-top="200".

Nom taper défaut la description
décalage nombre | fonction | objet dix Pixels à décaler de l'écran lors du calcul de la position du défilement. Si un seul numéro est fourni, le décalage sera appliqué dans les directions supérieure et inférieure. Pour fournir un décalage unique en bas et en haut, fournissez simplement un objet offset: { top: 10 }ou offset: { top: 10, bottom: 5 }. Utilisez une fonction lorsque vous devez calculer dynamiquement un décalage.
cible sélecteur | nœud | Élément jQuery l' windowobjet Spécifie l'élément cible de l'affixe.

Méthodes

.affix(options)

Active votre contenu en tant que contenu apposé. Accepte une option facultative object.

$('#myAffix').affix({
  offset: 15
})

.affix('checkPosition')

Recalcule l'état de l'affixe en fonction des dimensions, de la position et de la position de défilement des éléments pertinents. Les classes .affix, .affix-topet .affix-bottomsont ajoutées ou supprimées du contenu apposé en fonction du nouvel état. Cette méthode doit être appelée chaque fois que les dimensions du contenu affixé ou de l'élément cible sont modifiées, afin d'assurer un positionnement correct du contenu affixé.

$('#myAffix').affix('checkPosition')

Événements

Le plugin d'affixe de Bootstrap expose quelques événements pour se connecter à la fonctionnalité d'affixe.

Type d'événement La description
affixe.bs.affixe Cet événement se déclenche immédiatement avant que l'élément ne soit apposé.
apposé.bs.affixe Cet événement est déclenché après que l'élément a été apposé.
affixe-haut.bs.affixe Cet événement se déclenche immédiatement avant que l'élément n'ait été apposé en haut.
apposé-haut.bs.affixe Cet événement est déclenché après que l'élément a été apposé en haut.
affixe-bas.bs.affixe Cet événement se déclenche immédiatement avant que l'élément n'ait été apposé en bas.
apposé-bas.bs.affixe Cet événement est déclenché après que l'élément a été apposé en bas.