


Décrire en détail comment jQuery implémente le chargement paresseux
Apr 04, 2017 pm 01:44 PM1. Pourquoi le chargement différé est-il nécessaire ?
Pour les scénarios d'utilisation où il y a trop d'images, afin d'augmenter la vitesse de chargement des pages et d'améliorer l'expérience utilisateur, nous ne chargeons pas les images qui ne sont pas dans le champ de vision, attendez qu’il apparaisse dans le champ de vision avant de charger.
2. Le principe de mise en œuvre du chargement paresseux
-Le principe de mise en œuvre est très simple, pointez le src de img vers une petite image et la vraie adresse. de l'image est stockée dans img Dans un attribut personnalisé , <img src="lazy-load.png" src="xxx" />, attendez que l'image apparaisse dans le champ de vision, récupérez l'élément img et modifiez src La valeur in est attribuée à src.
3. Points de connaissances nécessaires pour implémenter le chargement paresseux
(1) Obtenez la fenêtre, le défilement de la fenêtre et la hauteur de décalage de l'élément par rapport au haut de la fenêtre, et calculez si l'élément apparaît à l'intérieur la plage visible de la fenêtre ;
Paste_Image.png
function isShow($el){ var winH = $(window).height(),//获取窗口高度 scrollH = $(window).scrollTop(),//获取窗口滚动高度 top = $el.offset().top;//获取元素距离窗口顶部偏移高度 if(top < scrollH + winH){ return true;//在可视范围 }else{ return false;//不在可视范围 } }
(2) Écoutez l'événement de défilement de la fenêtre et vérifiez si l'élément est disponible Dans la plage de vue ;
$(window).on('scroll', function(){//监听滚动事件 checkShow(); }) checkShow(); function checkShow(){//检查元素是否在可视范围内 $('img').each(function(){//遍历每一个元素 var $cur = $(this); if(!!isloaded($cur)){return;}//判断是否已加载 if (isShow($cur)) { setTimeout(function(){ showImg($cur); },300)//设置时间是为了更好的看出效果 }; }); }
(3) Lorsque l'élément est affiché, remplacez la photo par défaut précédente par la photo dans src.
function showImg($el){ $el.attr('src', $el.attr('src')); $cur.data('isloaded',true); }
Paste_Image.png
Paste_Image.png
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

Remplacer les caractères de chaîne en javascript

Tutoriel de configuration de l'API de recherche Google personnalisé

Créez vos propres applications Web Ajax

8 Superbes plugins de mise en page JQuery Page

Qu'est-ce que & # x27; ceci & # x27; en javascript?

Améliorez vos connaissances jQuery avec le spectateur source

10 feuilles de triche mobiles pour le développement mobile
