如何实现移除当前被选中
如何实现移除当前被选中
作者:陈智鸿
撰写时间:2019-01-19
开发工具与关键技术:VS2015、C#、JS
页面截图
鼠标单击时
鼠标双击时
页面代码
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>CircularPermutation</title>
<style>
ul li {
list-style: none;
margin: 0;
padding: 0;
}
ul {
margin: 0;
padding: 0;
}
.sidebar{
width:260px;
height:100%;
float:left;
overflow:auto;
background:#fff;
text-align:center;
}
span{
font-size:18px;
font-weight:600;
color:#fff;
cursor:pointer;
display:inline-block;
padding:10px 30px;
background:#5298dd;
}
#YC, #BYC {
width: 100%;
text-align: center;
}
#YC li, #BYC li {
text-align: center;
margin: 10px;
padding: 10px;
color: #fff;
background: #5298dd;
border-radius: 10px;
cursor: pointer;
}
#YC li:hover, #BYC li:hover {
background: #197db4;
}
#YC li.on, #BYC li.on {
background: #197db4;
}
</style>
</head>
<body>
<div class="sidebar">
<ul>
<li>
<span>可移除当前被选中</span>
<ul style="" id="YC">
<li>双击我</li>
<li>双击我</li>
<li>双击我</li>
</ul>
</li>
</ul>
</div>
<div class="sidebar">
<ul>
<li>
<span>不可移除当前被选中</span>
<ul style="" id="BYC">
<li>双击我</li>
<li>双击我</li>
<li>双击我</li>
</ul>
</li>
</ul>
</div>
<script src="~/Content/js/jquery-3.2.1.min.js"></script>
<script>
//可移除当前被选中点击事件
$("#YC li").click(function () {
var Li = $("#YC li");//获取ID为YC里面li的集合
for (var i = 0; i < Li.length; i++) {//用for循环遍历Li集合里面的li标签
if (Li[i] == this) {//判断当前li标签是否是被点击的那个
var Class = $(Li[i]).hasClass("on");//声明一个变量用来接收当前li标签的Class是否有on,有就返回true,没就返回false
if (Class) {//判断当前li标签的Class是否有on
$(Li[i]).removeClass("on");//如果当前li标签的Class有on,就移除Class
} else {//如果当前li标签的Class没有on
for (var j = 0; j < Li.length; j++) {//再用for循环遍历集合里面的li标签
$(Li[j]).removeClass("on");//移除Li集合里面的li标签的Class
if (Li[j] == this) {//判断当前Li[j]是否是被点击的那个
$(Li[i]).addClass("on");//给Li[i]添加Class on
}
}
}
}
}
});
//不可移除当前被选中点击事件
$("#BYC li").click(function () {
var Li = $("#BYC li");//获取ID为BYC里面li的集合
for (var i = 0; i < Li.length; i++) {//用for循环遍历Li集合里面的li标签
$(Li[i]).removeClass("on");//移除Li集合里面的li标签的Class on
if (Li[i] == this) {//判断当前li标签是否是被点击的那个
$(Li[i]).addClass("on");//给Li[i]添加Class on
}
}
});
</script>
</body>
</html>