Added lazy loading for high quality images

This commit is contained in:
zeldaroot 2020-12-08 04:35:45 +02:00
parent eb4a37ecd7
commit 182fe0d6c3
1 changed files with 28 additions and 9 deletions

View File

@ -34,17 +34,36 @@
</div>
<script>
window.addEventListener('DOMContentLoaded', function(e) {
window.addEventListener('DOMContentLoaded', function() {
var dataCinemapressSrc = document.querySelectorAll('[data-cinemapress-src]');
if (!dataCinemapressSrc) return;
dataCinemapressSrc.forEach(function(cinemapressSrc) {
cinemapressSrc.src = cinemapressSrc.dataset.cinemapressSrc;
});
if (dataCinemapressSrc) {
dataCinemapressSrc.forEach(function(cinemapressSrc) {
if (cinemapressSrc.complete) {
cinemapressSetImage(cinemapressSrc, 'cinemapressSrc');
} else {
cinemapressSrc.addEventListener('load', function() {
cinemapressSetImage(cinemapressSrc, 'cinemapressSrc');
}, { once: true });
}
});
}
var dataCinemapressBgSrc = document.querySelectorAll('[data-cinemapress-bg-src]');
if (!dataCinemapressBgSrc) return;
dataCinemapressBgSrc.forEach(function(cinemapressBgSrc) {
cinemapressBgSrc.style.backgroundImage = 'url("' + cinemapressBgSrc.dataset.cinemapressBgSrc + '")';
});
if (dataCinemapressBgSrc) {
dataCinemapressBgSrc.forEach(function(cinemapressBgSrc) {
cinemapressSetImage(cinemapressBgSrc, 'cinemapressBgSrc');
});
}
function cinemapressSetImage(elem, name) {
var img = new Image();
img.src = elem.dataset[name];
img.onload = function() {
if (name === 'cinemapressBgSrc') {
elem.style.backgroundImage = 'url("' + elem.dataset[name] + '")';
} else {
elem.src = elem.dataset[name];
}
}
}
});
</script>