3.2.2 • Published 5 years ago

@kevinbaubet/fixer v3.2.2

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

Documentation Fixer

Fixer permet de figer un élément en fonction du scroll.

  • Compatibilité : IE11+
  • Dépendance : jQuery

Initialiser Fixer

var fixer = $('#element').fixer([options]);
  • @param {object} options (optionnel) Options

      var fixer = $('#element').fixer({
          onFixed: function () {
              console.log('#element is fixed!');
          }
      });

Options

OptionTypeValeur par défautDescription
containerobjectundefinedConteneur de l'élément à fixer. Si la valeur n'est pas définie, c'est le body qui sera utilisé
startintegerundefinedHauteur du scroll à partir duquel l'élément sera fixé à partir du conteneur. Si la valeur n'est pas définie, c'est la position haute de l'élément à fixer
endintegerundefinedHauteur du scroll à partir duquel l'élément ne sera plus fixé. Si la valeur n'est pas définie, c'est la hauteur du conteneur - la position haute de l'élément
offsetinteger0Décalage des limites pour fixer
reversebooleanfalseInverser le fonctionnenemnt pour fixer l'élément. Si true, il faudra remonter la page pour fixer l'élément
scrollEventbooleantrueActiver/Désactiver l'événenement de scroll. Voir section Événements personnalisés
resizeEventbooleantrueActiver/Désactiver l'événenement de resize. Voir section Événements personnalisés
resizeTimeoutinteger100Delai avant l'execution de l'événement resize, en ms
autoLoadbooleantrueÉxecuter Fixer à l'événement load
autoDisablebooleantrueDésactive automatiquement Fixer si l'élément à fixer est plus haut que la fenêtre du navigateur
autoUpdatebooleanfalseRequis l'option resizeEvent à true. Met à jour les positions de départ/fin de Fixer lors de l'événement resize
autoPaddingbooleanfalsePermet de compenser le décalage du scroll dans le conteneur lorsque l'élément est fixé
autoWidthbooleanfalsePermet de définir automatiquement la largeur de l'élément à fixer
autoPositionbooleanfalsePermet de définir automatiquement la position gauche de l'élément à fixer
classesobjectVoir ci-dessousListe les options ci-dessous
    prefixstring'fixer'Préfix de classe
    containerstring'{prefix}-container'Classe pour le conteneur de l'élement à fixer
    elementstring'{prefix}-element'Classe pour l'élement à fixer
    inputstring'is-input'Classe pour indiquer si on est en train de saisir un formulaire
    fixedstring'is-fixed'Classe pour indiquer si l'élement est fixé
    bottomstring'is-bottom'Classe pour indiquer si l'élement est arrivé en bas du conteneur
    resetstring'is-reset'Classe pour indiquer si l'élement est revenu à la normale
    disabledstring'is-disabled'Classe pour indiquer si l'élement est désactivé
afterEventsHandlerfunctionundefinedCallback après la déclaration des événements
onScrollfunctionundefinedCallback lors du scroll
onResizefunctionundefinedCallback lors du resize
onFixedfunctionundefinedCallback une fois l'élément fixé
onBottomfunctionundefinedCallback une fois l'élément arrivé en bas du conteneur
onResetfunctionundefinedCallback une fois l'élément revenu à la normale
onDisablefunctionundefinedCallback une fois l'élément désactivé
onChangeStatefunctionundefinedCallback à chaque changement d'état (default, fixed, bottom)

API

setContainer()

Définition du conteneur courant

  • @param {object} container jQuery object

      fixer.setContainer($('#container'));

getContainer()

Récupération du conteneur courant

  • @return {object}

setFixer()

Définition de l'élement à fixer

  • @param {object} element jQuery object

      fixer.setFixer($('#element'));

getFixer()

Récupération l'élément à fixer

  • @return {object}

setStart()

Définition de la position de départ

  • @param {int} position Position

      fixer.setStart(300);

getStart()

Récupération de la position de départ

  • @return {int}

setEnd()

Définition de la position de fin

  • @param {int} position Position
  • @param {boolean=true} addStart Ajouter la position de départ

      fixer.setEnd(1000);

getEnd()

Récupération de la position de fin

  • @return {int}

setHeight()

Définition de la hauteur de l'élément fixé et du conteneur

getContainerHeight()

Récupération de la hauteur du conteneur

  • @return {number}

getHeight()

Récupération de la hauteur de l'élément fixé

  • @return {number}

setWidth()

Définition de la largeur de l'élément fixé

getWidth()

Récupération de la largeur de l'élément fixé

  • @return {number}

setPosition()

Définition de la position de l'élément fixé

getPosition()

Récupération de la position de l'élément fixé

  • @return {number}

setWindowSize()

Définition de la taille de la fenêtre navigateur

getWindowSize()

Récupération de la taille de la fenêtre navigateur

  • @return {object}

setState()

Définition de l'état courant

  • @param {string} state default, fixed, bottom, disabled

getState()

Récupération de l'état courant

  • @return {string}

setScrollTop()

Définition de la valeur courante ou précédente du scroll

  • @param {string} type current, previous
  • @param {int|string} position Valeur du scroll

getScrollTop()

Récupération de la valeur courante ou précédente du scroll

  • @param {string} type current, previous
  • @return {int}

update()

Met à jour les positions et les valeurs automatiques

fixed()

Fixe l'élément

bottom()

Place l'élément au bas du conteneur

reset()

Remet l'élément à la normale

disable()

Désactive Fixer

destroy()

Enlève Fixer du DOM

Événements personnalisés

Il est possible de désactiver les événements de scroll et de resize pour les gérer d'une autre façon.

var fixer = $('#element').fixer({
    scrollEvent: false,
    resizeEvent: false
});

var scroller = new $.Scroller();
var deviceDetect = new $.DeviceDetect();

scroller.onScroll(function () {
    // Appel du gestionnaire de scroll de Fixer en passant en paramètre l'événement scroll
    fixer.scrollHandler.call(fixer, this);
});
deviceDetect.onResize(function () {
    // Appel du gestionnaire de resize de Fixer en passant en paramètre l'événement resize
    fixer.resizeHandler.call(fixer, this);
});