wp_back/wp-content/plugins/visual-portfolio/assets/js/lazyload.js
2024-05-20 15:37:46 +03:00

27 lines
779 B
JavaScript

// Recalculate image size if parent is <picture>
document.addEventListener('lazybeforesizes', (e) => {
// for some reason sometimes e.detail is undefined, so we need to check it.
if (!e.detail || !e.detail.width || !e.target) {
return;
}
const parent = e.target.closest(':not(picture)');
if (parent) {
e.detail.width = parent.clientWidth || e.detail.width;
}
});
/**
* Remove <noscript> tag.
* Some of optimization plugin make something, that killed our styles with noscript tag.
* Related topic: https://wordpress.org/support/topic/visual-portfolio-and-sg-optimizer-dont-play-well/
*/
document.addEventListener('lazybeforeunveil', (e) => {
const prevEl = e.target.previousElementSibling;
if (prevEl && prevEl.matches('noscript')) {
prevEl.remove();
}
});