various fixes
This commit is contained in:
parent
1fd9adcb52
commit
46bd223627
29 changed files with 6093 additions and 152 deletions
|
@ -7,58 +7,7 @@
|
|||
{{ define "main-type" }}{{ .Params.mainType }}{{ end }}
|
||||
|
||||
{{ define "footer-scripts" }}
|
||||
<script>
|
||||
// Source: https://css-tricks.com/the-complete-guide-to-lazy-loading-images/
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
var lazyloadImages;
|
||||
|
||||
if ("IntersectionObserver" in window) {
|
||||
lazyloadImages = document.querySelectorAll(".lazy");
|
||||
var imageObserver = new IntersectionObserver(function(entries, observer) {
|
||||
entries.forEach(function(entry) {
|
||||
if (entry.isIntersecting) {
|
||||
console.log("Ding");
|
||||
var image = entry.target;
|
||||
image.classList.remove("lazy");
|
||||
imageObserver.unobserve(image);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
lazyloadImages.forEach(function(image) {
|
||||
imageObserver.observe(image);
|
||||
});
|
||||
} else {
|
||||
var lazyloadThrottleTimeout;
|
||||
lazyloadImages = document.querySelectorAll(".lazy");
|
||||
|
||||
function lazyload () {
|
||||
if(lazyloadThrottleTimeout) {
|
||||
clearTimeout(lazyloadThrottleTimeout);
|
||||
}
|
||||
|
||||
lazyloadThrottleTimeout = setTimeout(function() {
|
||||
var scrollTop = window.pageYOffset;
|
||||
lazyloadImages.forEach(function(img) {
|
||||
if(img.offsetTop < (window.innerHeight + scrollTop)) {
|
||||
img.src = img.dataset.src;
|
||||
img.classList.remove('lazy');
|
||||
}
|
||||
});
|
||||
if(lazyloadImages.length == 0) {
|
||||
document.removeEventListener("scroll", lazyload);
|
||||
window.removeEventListener("resize", lazyload);
|
||||
window.removeEventListener("orientationChange", lazyload);
|
||||
}
|
||||
}, 20);
|
||||
}
|
||||
|
||||
document.addEventListener("scroll", lazyload);
|
||||
window.addEventListener("resize", lazyload);
|
||||
window.addEventListener("orientationChange", lazyload);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script src="/js/lazy-images.js"></script>
|
||||
{{ end }}
|
||||
|
||||
{{ define "main-header" }}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue