揭幕.js-一个轻量级的延迟加载插件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了揭幕.js-一个轻量级的延迟加载插件相关的知识,希望对你有一定的参考价值。

Via @lmgalmeida

Usage:

data-src="image.jpg" src="loader.gif"

$("img").unveil();
  1. (function( $ ) {
  2. $.fn.unveil = function () {
  3. var images = this, loaded, inview;
  4.  
  5. this.one("unveil", function(){
  6. this.setAttribute( "src", this.getAttribute( "data-src" ) );
  7. this.removeAttribute( "data-src" );
  8. });
  9.  
  10. function unveil () {
  11. inview = images.filter(function(){
  12. var $e = $(this),
  13. $w = $(window),
  14. wt = $w.scrollTop(),
  15. wb = wt + $w.height(),
  16. et = $e.offset().top,
  17. eb = et + $e.height();
  18.  
  19. return eb >= wt && et <= wb;
  20. });
  21.  
  22. loaded = inview.trigger("unveil");
  23. images = images.not( loaded );
  24. }
  25.  
  26. $(window).scroll(unveil);
  27. unveil();
  28.  
  29. return this;
  30. };
  31. })( jQuery );

以上是关于揭幕.js-一个轻量级的延迟加载插件的主要内容,如果未能解决你的问题,请参考以下文章

如何延迟或异步此 WordPress javascript 片段以最后加载以加快页面加载时间?

jQuery 是如何判断HTML页面加载完毕的?它的原理是啥?

jQuery延迟加载(懒加载)插件 – jquery.lazyload.js

jQuery延迟加载(懒加载)插件 jquery.lazyload.js

lazysizes-好用的延迟加载JS插件

jQuery延迟加载(懒加载)插件 – jquery.lazyload.js