Изменение класса блока в зависимости от размеров экрана

101
28 октября 2021, 03:30

я имею блок с классом "preview_main_button" ( <div class="preview_main_button" id="ButtonOnPreview">Перейти ко всем статьям</div> ), но я хочу, чтобы на экранах разрешение которых меньше 769 пикселей его класс менялся на "preview_main_button_2" - каким образом это можно сделать?

Answer 1

Пример взял от сюда https://toster.ru/q/593928

(function() { 
    var throttle = function(type, name, obj) { 
        obj = obj || window; 
        var running = false; 
        var func = function() { 
            if (running) { return; } 
            running = true; 
             requestAnimationFrame(function() { 
                obj.dispatchEvent(new CustomEvent(name)); 
                running = false; 
            }); 
        }; 
        obj.addEventListener(type, func); 
    }; 
 
    /* init - you can init any event */ 
    throttle("resize", "optimizedResize"); 
})(); 
 
// Событие, сюда ваш код 
window.addEventListener("optimizedResize", function() { 
    testFunction(); // вызов той самой функции 
}); 
 
 
// Функция, чтобы было удобно вызвать 
function testFunction() { 
    const el = document.getElementById('ButtonOnPreview'); 
 
    if (window.innerWidth < 769){ 
        el.classList.add('preview_main_button_2'); 
        el.classList.remove('preview_main_button'); 
    } else { 
        el.classList.add('preview_main_button'); 
        el.classList.remove('preview_main_button_2'); 
    } 
 
} 
// Вызов функции, чтобы она срабатывала при загрузке 
testFunction();
    .preview_main_button{ 
        background: red; 
    } 
    .preview_main_button_2{ 
        background: green; 
    }
<div class="preview_main_button" id="ButtonOnPreview">Перейти ко всем статьям</div>

READ ALSO
Плавающая ошибка парсинга json3

Плавающая ошибка парсинга json3

Осваиваю JavaScript+React+Redux и столкнулась с такой ситуациейЕсли в браузере (использую Mozilla Firefox) не открывать окно отладки, то весь написанный код...

84
html2canvas объединить два блока в один

html2canvas объединить два блока в один

взял два канваса из двух разных блоков, как мне их обьединить и получить одну картинку?

113
Как импортировать юнит тест mocha из пакета meteor.js?

Как импортировать юнит тест mocha из пакета meteor.js?

Мое приложение с использованием Meteorjs полностью разбито по пакетам, в одном из пакетов есть файл security-ui

96