npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@kevinbaubet/fixer

v3.2.2

Published

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

Downloads

37

Readme

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

| Option | Type | Valeur par défaut | Description | |-----------------------------------|----------|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------| | container | object | undefined | Conteneur de l'élément à fixer. Si la valeur n'est pas définie, c'est le body qui sera utilisé | | start | integer | undefined | Hauteur 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 | | end | integer | undefined | Hauteur 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 | | offset | integer | 0 | Décalage des limites pour fixer | | reverse | boolean | false | Inverser le fonctionnenemnt pour fixer l'élément. Si true, il faudra remonter la page pour fixer l'élément | | scrollEvent | boolean | true | Activer/Désactiver l'événenement de scroll. Voir section Événements personnalisés | | resizeEvent | boolean | true | Activer/Désactiver l'événenement de resize. Voir section Événements personnalisés | | resizeTimeout | integer | 100 | Delai avant l'execution de l'événement resize, en ms | | autoLoad | boolean | true | Éxecuter Fixer à l'événement load | | autoDisable | boolean | true | Désactive automatiquement Fixer si l'élément à fixer est plus haut que la fenêtre du navigateur | | autoUpdate | boolean | false | Requis l'option resizeEvent à true. Met à jour les positions de départ/fin de Fixer lors de l'événement resize | | autoPadding | boolean | false | Permet de compenser le décalage du scroll dans le conteneur lorsque l'élément est fixé | | autoWidth | boolean | false | Permet de définir automatiquement la largeur de l'élément à fixer | | autoPosition | boolean | false | Permet de définir automatiquement la position gauche de l'élément à fixer | | classes | object | Voir ci-dessous | Liste les options ci-dessous | |     prefix | string | 'fixer' | Préfix de classe | |     container | string | '{prefix}-container' | Classe pour le conteneur de l'élement à fixer | |     element | string | '{prefix}-element' | Classe pour l'élement à fixer | |     input | string | 'is-input' | Classe pour indiquer si on est en train de saisir un formulaire | |     fixed | string | 'is-fixed' | Classe pour indiquer si l'élement est fixé | |     bottom | string | 'is-bottom' | Classe pour indiquer si l'élement est arrivé en bas du conteneur | |     reset | string | 'is-reset' | Classe pour indiquer si l'élement est revenu à la normale | |     disabled | string | 'is-disabled' | Classe pour indiquer si l'élement est désactivé | | afterEventsHandler | function | undefined | Callback après la déclaration des événements | | onScroll | function | undefined | Callback lors du scroll | | onResize | function | undefined | Callback lors du resize | | onFixed | function | undefined | Callback une fois l'élément fixé | | onBottom | function | undefined | Callback une fois l'élément arrivé en bas du conteneur | | onReset | function | undefined | Callback une fois l'élément revenu à la normale | | onDisable | function | undefined | Callback une fois l'élément désactivé | | onChangeState | function | undefined | Callback à 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);
});