javascript - 如何将一个div变成一个复选框

标签 javascript jquery html css checkbox

我最近开始编码,我想知道将方框变成复选框的最佳方法。所以我想制作一个网站,用户可以通过选中彩色框来选择他们想要的颜色。我已经研究过,找不到好的答案。所有的框都应该是可点击的,因为用户可以选择不止一种颜色。

编辑 如果我没有说清楚,我很抱歉!我想做的是这样的:sv.tinypic.com/r/dcelb6/9 .所以盒装的都是彩色的,大家可以去看看。

这是我的 html:

<div>
          <a href="#" class="color-box black-box" value="0">
            <h3>Black</h3>
          </a>
        </div>
        <div>
          <a href="#" class="color-box grey-box" value="0">
            <h3>Grey</h3>
          </a>
        </div>
        <div>
          <a href="#" class="color-box blue-box" value="0">
            <h3>Blue</h3>
          </a>
        </div>

</div>

这是CSS:

.color-box {
  width: 15.20833%;
  min-width: 15.20833%;
  height: 0;
  padding-bottom: 15.20833%;
  background-color: #fff;
  margin-top: 0.72917%;
  display: block;
  float: left;
  position: relative;
  margin: 7px 0.72917%;
  border: 1px solid transparent;
}

.color-box h3 {
  color: #fff;
  text-decoration: none;
}

.black-box {
  background: #000;
}

.grey-box {
  background: #9E9E9E;
}

.blue-box {
  background: #205DB1;
}

最佳答案

where the user can choose colors by checking the colored boxes to pick the ones they want.

片段在这里

colors={'black-box':'black','grey-box':'grey','blue-box':'blue'}
var elements=document.getElementsByClassName('color-box')
function handler(el){
el[i].addEventListener('click',
function(e){
	if(e.target.className.split(' ')[1] in colors){
		document.getElementById('selector').style.background= 			colors[e.target.className.split(' ')[1]]
    }
   for(var i=0;i<elements.length;++i){
    if(elements[i]!=e.target){elements[i].innerHTML=''}
    }
e.target.innerHTML=='✓'?e.target.innerHTML='':e.target.innerHTML='✓';
},false)
}
for(var i=0;i<elements.length;++i){
handler(elements)
}

//document.getElementsByClassName('color-box').forEach(handler)
.color-box {
  color:white;
  font-size:20px;
  width:30px;
  height:30px;

  background-color: #fff;
  margin-top: 0.72917%;
  display: block;
  text-align:center;
  position: relative;
  border: 1px solid transparent;
}

.black-box {
  background: #000;
}

.grey-box {
  background: #9E9E9E;
}

.blue-box {
  background: #205DB1;
}
#selector{
  width:200px;
  height:200px;
  border:solid;
}
<div class="color-box black-box" >
        </div>
        <div class="color-box grey-box">
        </div>
        <div class="color-box blue-box">
        </div>
</div>
<div id='selector'>
</div>

关于javascript - 如何将一个div变成一个复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34912315/

相关文章:

html - 从 css 添加很棒的字体

javascript - node.js 打开文件覆盖现有文件

javascript - jquery load() 不适用于数组循环

jQueryMobile 水平对齐网格元素

javascript - 用于多个按钮单击的 JQuery 一个代码

javascript - Jquery Ajax 不适用于 Codeigniter

javascript - 从多维数组中删除重复的元素对

javascript - 谷歌地图语言只有英语

javascript - 当加载不同参数的相同 url 时,Angular2 路由器 2.0.0 不重新加载组件?

html - 无法播放HTML嵌入式Youtube视频