【发布时间】:2017-10-24 21:46:47
【问题描述】:
我希望我的 div 能够这样做,同时能够为动作使用过渡(例如,如果单击 div2):
来自
[div1][div2]
[div3][div4]
-
到
[---div2----]
[div1][div3]
[div4]
到目前为止,问题在我附加的代码笔中很明显。
用我的 div 实现这一点的最佳方法是什么:
HTML
<div class="container">
<div id="cell1" class="cell" onclick="clickFunction(this)"></div>
<div id="cell2" class="cell" onclick="clickFunction(this)"></div>
<div id="cell3" class="cell" onclick="clickFunction(this)"></div>
<div id="cell4" class="cell" onclick="clickFunction(this)"></div>
<div id="cell5" class="cell" onclick="clickFunction(this)"></div>
<div id="cell6" class="cell" onclick="clickFunction(this)"></div>
</div>
CSS
.container{
width:300px;
}
.cell{
width:100px;
height:100px;
border:solid black 1px;
display:inline-block;
transition:background-color 1s;
}
.cell:hover{
background-color: blue;
}
.click {
background-color: green;
width:200px;
height:200px;
}
Javascript
var clickFunction = function(elem){
if(elem.classList.contains("click")){
elem.classList.remove("click")
}
else{
var elements = document.getElementsByClassName("cell");
for(var i = 0; i<elements.length; i++){
if(elements[i].classList.contains("click")){
elements[i].classList.remove("click");
}
}
elem.classList.add("click");
}
}
codepen
【问题讨论】:
标签: javascript html css