|
- <script>
- var lazyLoad = function(){
- // 根据情况替换 body img
- var lazyImages = [].slice.call(document.querySelectorAll("body img"));
- lazyImages.forEach(function(lazyImage) {
- let src = lazyImage.src;
- lazyImage.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";
- lazyImage.setAttribute('data-src', src);
- });
- if ("IntersectionObserver" in window) {
- let lazyImageObserver = new IntersectionObserver(function(entries, observer) {
- entries.forEach(function(entry) {
- if (entry.isIntersecting) {
- let lazyImage = entry.target;
- lazyImage.src = lazyImage.dataset.src;
- //lazyImage.classList.remove("lazy");
- lazyImageObserver.unobserve(lazyImage);
- }
- });
- });
-
- lazyImages.forEach(function(lazyImage) {
- lazyImageObserver.observe(lazyImage);
- });
- } else {
- // Possibly fall back to event handlers here
- }
- }
- document.addEventListener("DOMContentLoaded", function() {
- lazyLoad();
- });
- </script>
复制代码- 脚本安装到</body>结束标签后面
- "body img" 意思是对body内的img做延迟加载。
要是想指定区域,你需要了解css选择器 - "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="; 是空白图片,非loading GIF(无加载特效)
|
评分
-
查看全部评分
|