如何用用户选择的背景颜色覆盖图标的默认背景?

时间:2019-11-21 06:49:30

标签: c# css asp.net-mvc razor partials

我有一个图标,它的默认颜色是白色,周围带有蓝色背景。如果用户未选择背景色,则默认的背景色保持不变。但是,如果用户确实为例如:(以下选项为:粉红色,灰色,橙色)选择新的背景色,则默认背景色应替换为用户选择的新颜色。 用户将通过具有'iconBackground'框的内容管理系统进行背景颜色选择,用户可以在其中选择所需的颜色。

我的问题是,当用户选择背景颜色时,如何覆盖默认的背景颜色(蓝色)?这是具有剃须刀和CSS的代码:https://jsfiddle.net/cliffeee/bjhvpf7q/9/。我尝试过的是,首先验证myIconiconBackground字段是否为空。如果它们不为空,则输出其值,但是,我不确定如何用具有新背景色的iconBackground值覆盖默认背景色。

1 个答案:

答案 0 :(得分:0)

此代码段说明了逻辑,您只需删除select并将Konga变量替换为css类名

@iconBackground
const selectElement = document.querySelector('#colorSelect');

selectElement.addEventListener('change', (event) => {
  var icon = document.querySelector('.tinyicon');
  var newClass = event.target.value;
  icon.className = "tinyicon "+newClass;
});
.tinyicon {
  display: block;
  float: left;
  color: white;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  padding: 6px;
}
    
.default{
  background: blue;
}

.green{
  background: green;
}

.red{
  background: red;
}