Maison >interface Web >js tutoriel >Décrire en détail comment jQuery implémente le chargement paresseux
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.
-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é , , 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.
function isShow($el){ var winH = $(window).height(),//获取窗口高度 scrollH = $(window).scrollTop(),//获取窗口滚动高度 top = $el.offset().top;//获取元素距离窗口顶部偏移高度 if(top < scrollH + winH){ return true;//在可视范围 }else{ return false;//不在可视范围 } }
$(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)//设置时间是为了更好的看出效果 }; }); }
function showImg($el){ $el.attr('src', $el.attr('src')); $cur.data('isloaded',true); }
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!