单选按钮的特点是:1、只要你用鼠标点了任何一个按钮,这个按钮的状态就一定是选中的,你不可能通过鼠标点击把一个选中状态的单选按钮改为未选中;
2、只要有一个单选按钮是选中的,同组的另两个单选按钮就一定是未选中的。
所以,问题就简单了,只要在单选按钮的click事件中把开关设为打开就OK了,别的代码都不用写,也不需要判断单选按钮的状态,因为这个时候百分百可以肯定有一个按钮的状态是选中的。
html复制代码代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>apple button</title>
</head>
<body>
<div id="div1">
<div id="div2"></div>
</div>
</body>
</html>
css
复制代码代码如下:
#div1{
width: 170px
height: 100px
border-radius: 50px
position: relative
}
#div2{
width: 96px
height: 96px
border-radius: 48px
position: absolute
background: white
box-shadow: 0px 2px 4px rgba(0,0,0,0.4)
}
.open1{
background: rgba(0,184,0,0.8)
}
.open2{
top: 2px
right: 1px
}
.close1{
background: rgba(255,255,255,0.4)
border:3px solid rgba(0,0,0,0.15)
border-left: transparent
}
.close2{
left: 0px
top: 0px
border:2px solid rgba(0,0,0,0.1)
}
javascript
复制代码代码如下:
window.onload=function(){
var div2=document.getElementById("div2")
var div1=document.getElementById("div1")
div2.onclick=function(){
div1.className=(div1.className=="close1")?"open1":"close1"
div2.className=(div2.className=="close2")?"open2":"close2"
}
}