Maison interface Web js tutoriel Exemple de tutoriel d'implémentation du chargement paresseux d'images basé sur JS

Exemple de tutoriel d'implémentation du chargement paresseux d'images basé sur JS

Jun 15, 2017 pm 01:25 PM
懒加载

Le chargement paresseux d'images est également une méthode relativement courante d'optimisation des performances. Cet article présente principalement des exemples de chargement paresseux d'images à l'aide de JS natif. Le code détaillé est compilé ici. Les amis dans le besoin peuvent s'y référer

Préface

Le chargement paresseux des images est également une méthode courante d'optimisation des performances. Récemment, j'utilisais Vue pour créer un client de liste d'actualités. . Voici une brève introduction au principe de mise en œuvre et à une partie du code.

Principe de mise en œuvre

Lors du chargement de la page, les images ont toujours été la principale source de trafic, et il existe de nombreuses méthodes de performance pour les images, comme base64, images Sprite, etc. ; le chargement paresseux en fait également partie. Le principe principal est de définir le src de l'image non affichée sur le premier écran à une valeur par défaut, puis de surveiller le défilement de la fenêtre, puis de lui attribuer une valeur par défaut. adresse d'image réelle lorsque l'image apparaît dans la fenêtre. Cela peut garantir la vitesse de chargement du premier écran, puis charger les images à la demande.


Code spécifique

Tout d'abord, lors du rendu, l'image fait référence à l'image par défaut, puis la véritable adresse est placée au-dessus des attributs data-*.



<image src=&#39;./../assets/default.png&#39; :src=&#39;item.allPics&#39; class=&#39;lazyloadimg&#39;>
Copier après la connexion
Ensuite, pour surveiller le défilement, utilisez simplement window.onscroll, mais une chose à noter est que cela est similaire au défilement et au redimensionnement de la fenêtre pour les événements. tels que les déplacements de souris qui se déclenchent fréquemment, il est préférable d'utiliser la limitation ou l'anti-rebond pour contrôler la fréquence de déclenchement. Il existe deux méthodes d’encapsulation dans le trait de soulignement et le lodash, je ne les présenterai donc pas en détail ici.


L'étape suivante consiste à déterminer si l'image apparaît dans la fenêtre, principalement en fonction de trois hauteurs : 1. Jusqu'où le corps actuel a défilé depuis le haut. 2. La hauteur de la fenêtre. 3. La distance entre l'image actuelle et le haut. Le code spécifique est le suivant :



window.onscroll =_.throttle(this.watchscroll, 200);
watchscroll () {
  var bodyScrollHeight = document.body.scrollTop;// body滚动高度
  var windowHeight = window.innerHeight;// 视窗高度
  var imgs = document.getElementsByClassName(&#39;lazyloadimg&#39;);
  for (var i =0; i < imgs.length; i++) {
  var imgHeight = imgs[i].offsetTop;// 图片距离顶部高度
  if (imgHeight < windowHeight + bodyScrollHeight) {
   imgs[i].src = imgs[i].getAttribute(&#39;src&#39;);
   img[i].className = img[i].className.replace(&#39;lazyloadimg&#39;,&#39;&#39;)
  }
  }
 }
Copier après la connexion

Conclusion

C'est à peu près tout , je pourrai ajouter l'implémentation du code source de limitation anti-secousse la prochaine fois. Enfin, deux jugements de défilement courants sont ajoutés :


1. La page défile en s'éloignant de l'écran d'accueil (à ce moment, le bouton pour revenir en haut peut être affiché) :

document.body.scrollTop > window.innerHeight2. Faites défiler la page vers le bas (vous pouvez ajuster l'interface pour obtenir plus de contenu à ce moment-là) :

window.scrollY + window.innerHeight > document.body.offsetHeightCe qui précède est l'intégralité du contenu de cet article, j'espère que ce sera le cas. utile à l'apprentissage de chacun. J'espère également que tout le monde soutiendra Script Home.

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Explication détaillée de la fonction paresseuse dans Vue3 : le chargement paresseux des composants améliore les performances de l'application Explication détaillée de la fonction paresseuse dans Vue3 : le chargement paresseux des composants améliore les performances de l'application Jun 19, 2023 am 08:39 AM

Vue3 est un framework JavaScript populaire, facile à apprendre et à utiliser, efficace et stable, et particulièrement efficace pour créer des applications monopage (SPA). La fonction paresseuse de Vue3, en tant que l'un des outils puissants de chargement paresseux de composants, peut considérablement améliorer les performances de l'application. Cet article expliquera en détail l'utilisation et les principes de la fonction paresseuse dans Vue3, ainsi que ses scénarios d'application et ses avantages dans le développement réel. Qu’est-ce que le chargement paresseux ? Dans le développement front-end et back-end traditionnel, les développeurs front-end doivent souvent gérer un grand nombre de

Comment Vue implémente-t-il le chargement et le préchargement paresseux des composants ? Comment Vue implémente-t-il le chargement et le préchargement paresseux des composants ? Jun 27, 2023 pm 03:24 PM

À mesure que les applications Web deviennent de plus en plus complexes, les développeurs front-end doivent mieux fournir des fonctionnalités et une expérience utilisateur tout en garantissant des vitesses de chargement des pages. Cela implique un chargement et un préchargement paresseux des composants Vue, qui sont des moyens importants pour optimiser les performances des applications Vue. Cet article fournira une introduction approfondie aux méthodes d'implémentation de chargement paresseux et de préchargement des composants Vue. 1. Qu'est-ce que le chargement différé ? Le chargement différé signifie que le code d'un composant ne sera chargé que lorsque l'utilisateur aura besoin d'y accéder, au lieu de charger le code de tous les composants au début.

Solution au problème d'échec de l'image de chargement paresseux de Vue Solution au problème d'échec de l'image de chargement paresseux de Vue Jun 29, 2023 pm 10:42 PM

Comment résoudre le problème de l'échec du chargement paresseux des images dans le développement Vue Le chargement paresseux (LazyLoad) est l'une des technologies d'optimisation couramment utilisées dans le développement Web moderne, en particulier lors du chargement d'un grand nombre d'images et de ressources, il peut réduire efficacement la charge. la page et améliorer l’expérience utilisateur. Cependant, lors du développement à l'aide du framework Vue, nous pouvons parfois rencontrer le problème d'un échec de chargement paresseux des images. Cet article présentera quelques problèmes courants et solutions afin que les développeurs puissent mieux résoudre ce problème. Erreur de chemin de ressource image Tout d’abord, nous devons nous assurer que la ressource image

Comment implémenter le chargement paresseux dans la pagination du tableau PHP ? Comment implémenter le chargement paresseux dans la pagination du tableau PHP ? May 03, 2024 am 08:51 AM

La façon d'implémenter le chargement paresseux lors de la pagination de tableaux PHP consiste à utiliser un itérateur pour charger un seul élément de l'ensemble de données. Créez un objet ArrayPaginator, en spécifiant le tableau et la taille de la page. Parcourez l'objet dans une boucle foreach, en chargeant et en traitant la page de données suivante à chaque fois. Avantages : performances de pagination améliorées, consommation de mémoire réduite et prise en charge du chargement à la demande.

Quelles sont les méthodes de chargement différé ? Quelles sont les méthodes de chargement différé ? Nov 13, 2023 pm 03:14 PM

Les méthodes de chargement paresseux incluent le chargement paresseux d'images, le chargement paresseux de vidéos, le chargement paresseux de fichiers de script, le chargement paresseux de données, etc. Introduction détaillée : 1. Le chargement paresseux des images est une méthode courante de mise en œuvre du chargement paresseux. Lorsque la page est chargée, seules les images de la zone visible sont chargées et les images des autres zones sont présentées sous forme d'espaces réservés lorsque l'utilisateur fait défiler. la page vers L'image réelle est chargée lorsque la position de l'image est spécifiée. Le chargement différé de l'image peut être réalisé en utilisant la bibliothèque JavaScript existante ou le code personnalisé 2. Le chargement différé de la vidéo est implémenté de la même manière que le chargement différé de l'image, par exemple lorsque la page se charge, etc.

Que signifie le chargement paresseux ? Que signifie le chargement paresseux ? Nov 20, 2023 pm 02:12 PM

Le chargement paresseux est un modèle de programmation qui fait référence au chargement de données uniquement lorsque cela est nécessaire, plutôt que d'obtenir des données immédiatement lorsque l'objet est initialisé ou chargé. Le but du chargement paresseux est de retarder le chargement des données pour économiser les ressources du système et améliorer les performances.

Comment implémenter le chargement paresseux en utilisant C# Lazy Comment implémenter le chargement paresseux en utilisant C# Lazy Feb 19, 2024 am 09:42 AM

Comment utiliser Lazy pour implémenter le chargement paresseux en C# nécessite des exemples de code spécifiques. Dans le développement de logiciels, le chargement paresseux (Lazyloading) est une technologie de chargement paresseux, qui peut nous aider à améliorer les performances et l'efficacité de l'utilisation des ressources du programme. En C#, nous pouvons utiliser la classe Lazy pour implémenter le chargement différé. Cet article présentera les concepts de base de la classe Lazy et comment l'utiliser pour implémenter le chargement différé, et fournira des exemples de code spécifiques. Tout d'abord, nous devons comprendre Lazy

Comment gérer le chargement paresseux et le préchargement des ressources d'image dans le développement de la technologie Vue Comment gérer le chargement paresseux et le préchargement des ressources d'image dans le développement de la technologie Vue Oct 09, 2023 am 09:45 AM

Comment gérer le chargement et le préchargement paresseux des ressources d'images dans le développement de la technologie Vue Avec l'enrichissement du contenu des pages Web, les images sont devenues un élément indispensable des pages Web. Cependant, le chargement d'un grand nombre de ressources d'images peut ralentir le chargement de la page Web et affecter l'expérience utilisateur. Afin de résoudre ce problème, nous pouvons utiliser la technologie de chargement paresseux et de préchargement des ressources d'image pour optimiser l'expérience utilisateur. 1. Technologie de chargement paresseux Le chargement paresseux signifie que lorsque les images de la page Web sont chargées pour la première fois, seules les images de la zone visible sont chargées. Lorsque l'utilisateur fait défiler la page et atteint la zone où se trouve l'image, l'image est chargée. encore.

See all articles