16 lines
736 B
JavaScript
16 lines
736 B
JavaScript
const motionToggle = document.getElementById('motion-toggle');
|
|
const reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)');
|
|
|
|
function setMotionPaused(isPaused) {
|
|
document.documentElement.classList.toggle('motion-running', !isPaused);
|
|
motionToggle.setAttribute('aria-pressed', String(isPaused));
|
|
motionToggle.textContent = isPaused ? 'Запустить механизмы' : 'Остановить механизмы';
|
|
}
|
|
|
|
setMotionPaused(reducedMotion.matches);
|
|
motionToggle.hidden = false;
|
|
motionToggle.addEventListener('click', () => {
|
|
setMotionPaused(document.documentElement.classList.contains('motion-running'));
|
|
});
|
|
reducedMotion.addEventListener('change', event => setMotionPaused(event.matches));
|