Skip to content

Commit

Permalink
lazyload.js
Browse files Browse the repository at this point in the history
  • Loading branch information
cao-gift committed Jul 20, 2024
1 parent d73d25a commit 100bb4f
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 1 deletion.
2 changes: 1 addition & 1 deletion config.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@
"needComment":0,
"indexScript":"<script src='https://blog.freeblock.cn/assets/yifantheme_index.js'></script><script src='https://blog.freeblock.cn/assets/rain.js'></script>",
"bottomText":"❤️ 转载文章请注明出处,谢谢!❤️",
"script":"<script src='https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/medium-zoom/1.1.0/medium-zoom.min.js'></script><script>var imgLinks = document.querySelectorAll('a > img');imgLinks.forEach(function(imgLink){var parentLink = imgLink.parentElement;parentLink.parentNode.insertBefore(parentLink.removeChild(imgLink), parentLink);parentLink.parentNode.removeChild(parentLink);});mediumZoom('img');</script><script src='https://blog.freeblock.cn/assets/GmeekTOC.js'></script><script src='https://blog.liyifan.xyz/assets/backtotop.js'></script>"
"script":"<script src='https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/medium-zoom/1.1.0/medium-zoom.min.js'></script><script>var imgLinks = document.querySelectorAll('a > img');imgLinks.forEach(function(imgLink){var parentLink = imgLink.parentElement;parentLink.parentNode.insertBefore(parentLink.removeChild(imgLink), parentLink);parentLink.parentNode.removeChild(parentLink);});mediumZoom('img');</script><script src='https://blog.freeblock.cn/assets/GmeekTOC.js'></script><script src='https://blog.freeblock.cn/assets/backtotop.js'></script><script src='https://blog.freeblock.cn/assets/lazyload.js'></script>"
}
25 changes: 25 additions & 0 deletions docs/assets/lazyload.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// lazyload.js
document.addEventListener('DOMContentLoaded', () => {
const images = document.querySelectorAll('img[data-src]');

const lazyLoad = target => {
const io = new IntersectionObserver((entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const img = entry.target;
img.src = img.dataset.src;
img.onload = () => {
img.classList.add('loaded');
};
observer.disconnect();
}
});
});

io.observe(target);
};

images.forEach(img => {
lazyLoad(img);
});
});

0 comments on commit 100bb4f

Please sign in to comment.