Derniers tutoriels de développement web
 

Bootstrap JS Affix


JS Affix (affix.js)

Le plugin Affix permet à un élément de devenir apposé (verrouillé) à une zone de la page. Ceci est souvent utilisé avec des menus de navigation ou les boutons d'icônes sociales, pour les faire "coller" à une zone spécifique pendant le défilement vers le haut et en bas de la page.

Le plugin permet de basculer ce comportement sur et en dehors (modifie la valeur de la position de CSS statique fixe), en fonction de la position de défilement.

L'affixe du plugin permet de basculer entre trois classes: .affix , .affix-top , et .affix-bottom . Chaque classe représente un état particulier. Vous devez ajouter les propriétés CSS pour gérer les positions réelles, à l'exception de la position:fixed sur la .affix classe.

Pour plus d' informations, lisez notre Bootstrap Tutorial Affix .

Astuce: Le plugin Affix est souvent utilisé conjointement avec le Scrollspy plugin.


Via data-* Attributs

Ajouter des data-spy="affix" à l'élément que vous souhaitez espionner, et des data-offset-top|bottom=" number " attribut pour calculer la position de la volute.

Exemple

<ul class="nav nav-pills nav-stacked" data-spy="affix" data-offset-top="205">
Essayez - le vous - même »

Via JavaScript

Activer manuellement:

Exemple

$('.nav').affix({offset: {top: 150} });
Essayez - le vous - même »

Apposer options

Les options peuvent être transmises par l'intermédiaire des attributs de données ou JavaScript. Pour les attributs de données, ajouter le nom de l'option pour de données, comme dans les données offset = "".

prénom Type Défaut La description
offsetnumber | object | function10 Indique le nombre de pixels pour compenser à partir de l'écran lors du calcul de la position de défilement. Lors de l'utilisation d'un seul numéro, le décalage est ajouté aux deux directions supérieure et inférieure. Si vous voulez seulement pour contrôler le haut ou le bas, utilisez un objet, comme offset: {top:25}

Pour plusieurs décalages, utilisez offset: {top:25, bottom:50} en offset: {top:25, bottom:50}

Astuce: Utilisez une fonction pour fournir dynamiquement un décalage (peut être utile pour des conceptions sensibles)
targetselector | node | elementthe window object Indique l'élément cible de l'affixe

Apposer Events

Le tableau suivant répertorie les événements de affixes tous disponibles.

un événement La description Essayez-le
affix.bs.affix Survient avant le positionnement fixe est ajouté à l'élément (par exemple, lorsque le .affix-top classe est sur le point d'être remplacé par le .affix classe) Essayez - le
affixed.bs.affix Survient après le positionnement fixe est ajouté à l'élément (par exemple, après la .affix-top classe est remplacé par le .affix classe) Essayez - le
affix-top.bs.affix Survient avant l'élément supérieur retourne à sa position d' origine (non fixée) (par exemple, la .affix classe est sur le point d'être remplacé par .affix-top ) Essayez - le
affixed-top.bs.affix Survient après l'élément supérieur retourne à sa position d' origine (non fixée) (par exemple, la .affix classe a été remplacé par .affix-top ) Essayez - le
affix-bottom.bs.affix Se produit avant l'élément de fond revient à sa position d' origine (non fixe) (par exemple, la .affix classe est sur le point d'être remplacé par .affix-bottom ) Essayez - le
affixed-bottom.bs.affix Intervient après l'élément de fond revient à sa position d' origine (non fixée) (par exemple, la .affix classe a été remplacé par .affix-bottom ) Essayez - le

Exemples

Exemples

navbar apposée

Créer un menu de navigation horizontale fixée:

Exemple

<nav class="navbar navbar-inverse" data-spy="affix" data-offset-top="197">
Essayez - le vous - même »

Utilisation de jQuery pour apposer automatiquement un navbar

Utilisez jQuery outerHeight() méthode pour fixer la barre de navigation après que l'utilisateur a fait défiler passé un élément spécifié (<header>) :

Exemple

$(".navbar").affix({offset: {top: $("header").outerHeight(true)} });
Essayez - le vous - même »

Scrollspy & Affix

Utilisation du plug - in Affix avec le Scrollspy plugin:

Menu horizontal (Navbar)

<body data-spy="scroll" data-target=".navbar" data-offset="50">

<nav class="navbar navbar-inverse" data-spy="affix" data-offset-top="197">
...
</nav>

</body>
Essayez - le vous - même »

Menu vertical (sidenav)

<body data-spy="scroll" data-target="#myScrollspy" data-offset="15">

<nav class="col-sm-3" id="myScrollspy">
  <ul class="nav nav-pills nav-stacked" data-spy="affix" data-offset-top="205">
  ...
</nav>

</body>
Essayez - le vous - même »

navbar Animated sur affixe

Utilisez CSS pour manipuler les différentes .affix des classes:

Exemple - Changer la couleur de fond et le rembourrage de navbar on scroll

.affix {
    top: 0;
    width: 100%;
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    background-color: #F44336;
    border-color: #F44336;
}

.affix a {
    color: #fff !important;
    padding: 15px !important;
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

.affix-top a {
    padding: 25px !important;
}
Essayez - le vous - même »

Exemple - Faites glisser la barre de navigation

.affix {
    top: 0;
    width: 100%;
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

.affix-top {
    position: static;
    top: -35px;
}
Essayez - le vous - même »