Cet article présente principalement le plug-in js pour détecter la visibilité des éléments par Emergence.js. Il présente en détail l'installation et l'utilisation d'Emergence.js. Il a un certain degré de participation. plus. J'espère que cela pourra aider tout le monde.
Emergence.js est un plugin JS léger et performant pour détecter et manipuler des éléments dans le navigateur.
Ce plugin est conçu pour permettre la manipulation d'éléments en fonction de leur visibilité dans le navigateur. Il donne aux développeurs la liberté d'utiliser leur propre CSS ou JS pour afficher des animations ou des changements d'état. Il exploite les attributs de données HTML5 au lieu des classes pour simplifier le développement. Emergence.js est l’un des plugins les plus légers et les plus compatibles du genre.
Caractéristiques d'émergence.js
Pas besoin de compter sur d'autres composants
Prend en charge IE8+ et tous les navigateurs modernes
Seulement 1 Ko compressé
Installer
Emergence.js L'installation est très simple. La méthode d'installation de npm est la suivante :
npm install emergence.js
De plus, nous pouvons également le télécharger directement et introduire Emergence.js dans le fichier html.
<script src="path/to/emergence.min.js"></script> <script> emergence.init(); </script>
Comment utiliser
Ajouter data-emergence="hidden" à tout élément que vous souhaitez afficher :
< p class = “ element ” data-emergence = “ hidden ” > </ p >
Lorsque l'élément devient visible dans la fenêtre, l'attribut deviendra data-emergence="visible" . Vous pouvez désormais utiliser CSS pour animer des éléments :
.element [ data-emergence = hidden ] { / *隐藏状态* / } .element [ data-emergence = visible ] { / *可见状态* / }
Options personnalisées
Emergence.js propose de nombreuses options. peut être personnalisé. Voici les valeurs par défaut :
emergence.init({ container: window, reset: true, handheld: true, throttle: 250, elemCushion: 0.15, offsetTop: 0, offsetRight: 0, offsetBottom: 0, offsetLeft: 0, callback: function(element, state) { if (state === 'visible') { console.log('Element is visible.'); } else if (state === 'reset') { console.log('Element is hidden with reset.'); } else if (state === 'noreset') { console.log('Element is hidden with NO reset.'); } } });
Description de l'option
conteneur : conteneur, par défaut, le La visibilité de l'élément sera déterminée par les dimensions de la fenêtre d'affichage et la position de défilement X/Y (définie sur fenêtre). Cependant, il peut être modifié en conteneur personnalisé. Par exemple :
var customContainer = document.querySelector('.wrapper'); // www.xttblog.com emergence.init({ container: customContainer });
Throttle : est un moyen d'éviter les problèmes de performances liés au défilement et au redimensionnement des événements. L'accélérateur créera un petit délai d'attente et vérifiera régulièrement la visibilité de l'élément toutes les quelques millisecondes pendant l'événement. La valeur par défaut est 250.
reset : Détermine si l'état de l'attribut de données est réinitialisé après l'affichage. Réinitialisez-le sur false si vous souhaitez que l'élément conserve son état affiché même après avoir quitté la fenêtre. La valeur par défaut est vraie.
ordinateur de poche : Emergence recherchera la plupart des modèles d'appareils portables tels que les téléphones et les tablettes. Lorsqu'il est défini sur false, le plugin ne fonctionnera pas sur ces appareils. La valeur par défaut est vraie.
elemCushion : les coordonnées des éléments détermineront le nombre d'éléments qui doivent être "visibles" dans la fenêtre. Une valeur de 0,5 équivaudra à 50 % des éléments devant être visibles. La valeur par défaut est 0,15.
offsetTop, offsetRight, offsetBottom, offsetLeft : fournissent des décalages (en pixels) de n'importe quel côté de la fenêtre. Ceci est utile si vous disposez d'un composant fixe (tel qu'un en-tête) que vous pouvez décaler de la même valeur pour la hauteur de l'en-tête. Une valeur de 100 appliquée à offsetTop signifiera qu'un élément ne sera considéré comme visible que s'il est supérieur à 100 pixels du haut de la fenêtre. Toutes les valeurs par défaut sont 0.
rappel : utilisé pour fournir des rappels pour déterminer quand un élément est visible, masqué et réinitialisé. Les états possibles sont visible, réinitialisé et noreset.
De plus, Emergence.js propose également deux méthodes avancées émergence.engage(); et émergence.disengage();. Leurs fonctions sont exactement opposées.
Emergence.js s'appuie sur l'API de navigateur suivante : querySelectorAll
Pour prendre en charge IE8, veuillez vous assurer du mode standards.
Recommandations associées :
Collection de plug-ins jquery.validata.js, tout ce que vous voulez est ici
Explication détaillée de développement du plug-in Vue.js
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!