Есть элемент
.test {
--var-width: 100px;
width: var(--var-width);
}
<div class="test">текст</div>
Как изменить значение переменной --var-width с помощью JS (или jquery)?
Вот так:
элемент.style.setProperty('--переменная', 'значение');
Пример:
var test = document.querySelector('.test');
var rng = document.getElementById('rng');
rng.onchange = rng.oninput = function() {
test.style.setProperty('--var-width', this.value + 'px');
test.textContent = this.value;
};
.test {
--var-width: 100px;
width: var(--var-width);
background-color: red; /* для наглядности */
}
<div class="test">100</div>
Выберите ширину:<br/>
<input type="range" min="10" max="300" value="100" id="rng" />
Здравствуйте,через element.style.width="100px",но лучше задайте дополнительный класс,опишите в нем изменения,а через js просто переключайте с помощью elem.classList.toggle
update.
document.querySelector('.test').style.setProperty('--var-width', '200px');
document.querySelector('.test').style.cssText = "--var-width: 200px";
document.querySelector('.test').setAttribute("style", "--var-width: 200px");
Сборка персонального компьютера от Artline: умный выбор для современных пользователей