javascript - 如何使用css变量颜色和js改变div背景

标签 javascript html css

所以这是一个非常基本的函数(为我的目的找到和编辑),它将 div 背景颜色交替为白色或黑色。

我想更改代码以利用根属性中的 css 变量,而 html 中没有 onClick 函数。我想将 html 和 js 分开,但我不知道该怎么做。

我可以有两个按钮可以在 div 的 css 变量颜色之间切换吗?

谢谢。

function changeColor(color) {
  var element = document.getElementById('box');
  element.style.backgroundColor = color;
}
root {
  --white { color: #fff}
  --black { color: #000}
}

.box {
  width: 100px;
  height: 100px;
  border: 1px solid #aaa;
  background-color: #fff;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="box" id="box">
</div>

<button onClick=changeColor('white')>white</button>
<button onClick=changeColor('black')>black</button>

最佳答案

您可以设置一个 css 变量并单击更改颜色。

使用 document.body.style.setProperty('--main-color',color) 将颜色设置为 var

function changeColor(color) {
  document.body.style.setProperty('--main-color',color)
}
root {
  --main-color{ color: #fff}
}

.box {
  width: 100px;
  height: 100px;
  border: 1px solid #aaa;
  background-color: var(--main-color);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="box" id="box">
</div>

<button onClick=changeColor('white')>white</button>
<button onClick=changeColor('black')>black</button>

关于javascript - 如何使用css变量颜色和js改变div背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54436230/

相关文章:

javascript - 如何用图像替换 "back to top"按钮并使其滑入/滑出页面而不是淡入/淡出

不使用 <div> 的 HTML EDM 覆盖元素

javascript - 附加在从 php 中的curl 检索到的页面上不起作用

javascript - 使用 bigvideo.js 和 Firefox 兼容的多个视频

javascript - 将所有图像与 div 中的间隙相匹配

html - 垂直居中的两个 div 彼此相邻没有任何作用

html - 对齐 parent 之外的 child

javascript - 显示加载动画直到 <div> 出现?

javascript - 如何防止从 dopostback 关闭 Bootstrap 模式?

css - Vuetify 图标大小