new pipeline and build improvements
This commit is contained in:
26
js/social.js
26
js/social.js
@@ -9,13 +9,25 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
||||
|
||||
if (avatar && avatarImg && !prefersReducedMotion) {
|
||||
['r', 'b'].forEach((channel) => {
|
||||
const clone = avatarImg.cloneNode(false);
|
||||
clone.classList.add('glitch-layer', channel);
|
||||
clone.removeAttribute('alt');
|
||||
clone.setAttribute('aria-hidden', 'true');
|
||||
avatar.appendChild(clone);
|
||||
});
|
||||
const createGlitchLayers = () => {
|
||||
if (avatar.querySelector('.glitch-layer')) return;
|
||||
|
||||
['r', 'b'].forEach((channel) => {
|
||||
const clone = avatarImg.cloneNode(false);
|
||||
clone.classList.add('glitch-layer', channel);
|
||||
clone.removeAttribute('alt');
|
||||
clone.setAttribute('aria-hidden', 'true');
|
||||
avatar.appendChild(clone);
|
||||
});
|
||||
};
|
||||
|
||||
const removeGlitchLayers = () => {
|
||||
avatar.querySelectorAll('.glitch-layer').forEach((layer) => layer.remove());
|
||||
};
|
||||
|
||||
avatar.addEventListener('pointerenter', createGlitchLayers);
|
||||
avatar.addEventListener('pointerleave', removeGlitchLayers);
|
||||
avatar.addEventListener('pointercancel', removeGlitchLayers);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user