Maison > interface Web > js tutoriel > le corps du texte

Plugin Emergence.js js pour détecter la visibilité des éléments

小云云
Libérer: 2018-01-18 11:26:24
original
1423 Les gens l'ont consulté

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

  1. Pas besoin de compter sur d'autres composants

  2. Prend en charge IE8+ et tous les navigateurs modernes

  3. 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
Copier après la connexion

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>
Copier après la connexion

Comment utiliser

Ajouter data-emergence="hidden" à tout élément que vous souhaitez afficher :


< p class = “ element ” data-emergence = “ hidden ” > </ p >
Copier après la connexion

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 ] {
 / *可见状态* / 
}
Copier après la connexion

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 === &#39;visible&#39;) {
  console.log(&#39;Element is visible.&#39;);
 } else if (state === &#39;reset&#39;) {
  console.log(&#39;Element is hidden with reset.&#39;);
 } else if (state === &#39;noreset&#39;) {
  console.log(&#39;Element is hidden with NO reset.&#39;);
 }
 }
});
Copier après la connexion

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(&#39;.wrapper&#39;);
// www.xttblog.com
emergence.init({
 container: customContainer
});
Copier après la connexion

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

jQuery combiné avec le plug-in jQuery.cookie.js pour implémenter un exemple de fonction de changement de skin

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!