左右互傳(從一個盒子向另一個盒子新增元素)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
* {
padding: 0;
margin: 0;
}
li {
list-style: none;
}
.box {
width: 800px;
border: 1px solid;
height: 600px;
padding: 40px;
margin: 100px auto;
text-align: center;
}
.box li {
border-bottom: 1px solid lightblue;
height: 50px;
line-height: 60px;
}
.f-left {
float: left;
}
.f-right {
float: right;
}
.left,.right {
width: calc(40% - 20 * 2px);
height: calc(100% - 40 * 2px);
border: 1px solid;
padding: 20px;
overflow: auto;
}
.main {
width: 19%;
height: 100%;
position: relative;
}
.main .btnBox {
position: absolute;
width: 100%;
top: 50%;
transform: translateY(-50%);
}
.main .btnBox button {
width: 80px;
height: 30px;
border: 1px solid;
border-radius: 3px;
margin: 10px;
}
.active {
background-color: yellow;
}
.leftBtn,.rightBtn {
width: 70px;
height: 20px;
border: 1px solid;
border-radius: 3px;
}
</style>
</head>
<body>
<div class="box">
<h1>左右互傳</h1>
<div class="left f-left">
<h4>左邊列表詳情</h4>
<p style="overflow: hidden;"><button class="leftBtn f-left">全選</button></p>
<ul class="leftList">
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
<li>lfjlgjlfjllg</li>
</ul>
</div>
<div class="main f-left">
<div class="btnBox">
<p><button class="leftMove">左移</button></p>
<p><button class="rightMove">右移</button></p>
</div>
</div>
<div class="right f-right">
<h4>右邊列表詳情</h4>
<p style="overflow: hidden;"><button class="rightBtn f-right">全選</button></p>
<ul class="rightList">
</ul>
</div>
</div>
<script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
// 為元素新增自定義屬性
$(".leftList li").attr("item","false");
$(".rightList li").attr("item","false");
$(".leftBtn").attr("data-check", "false")
$(".rightBtn").attr("data-check", "false")
// 左
$(".leftList li").click(function() {
if($(this).attr("item") == 'false') {
$(this).attr("item", "true").addClass("active");
}else if($(this).attr("item") == 'true') {
$(this).attr("item", "false").removeClass("active")
}
})
$(".leftMove").click(function() {
if($(".leftList li").length == 0) {
console.log("左邊已經沒有了")
return
}
var arr = [];
$(".leftList").find('li[item = "true"]').removeClass("active");
for (var i = 0; i < $(".leftList li").length; i++) {
if($(".leftList li")[i].getAttribute("item") == 'true') {
$(".leftList li")[i].setAttribute("item", "false")
arr.push($(".leftList li")[i])
}
}
for (var i = 0; i < arr.length; i++) {
$(".rightList").append(arr[i]);
}
})
$(".leftBtn").click(function() {
if($(this).attr("data-check") == 'false') {
$(".leftList li").attr("item", "true").addClass("active");
$(this).attr("data-check", "true")
}else if($(this).attr("data-check") == 'true') {
$(".leftList li").attr("item", "false").removeClass("active");
$(this).attr("data-check", "false")
}
})
// 右
$(".rightList li").click(function() {
if($(this).attr("item") == 'false') {
$(this).attr("item", "true").addClass("active");
}else if($(this).attr("item") == 'true') {
$(this).attr("item", "false").removeClass("active")
}
})
$(".rightMove").click(function() {
if($(".rightList li").length == 0) {
console.log("右邊已經沒有了")
return
}
var arr = [];
$(".rightList").find('li[item = "true"]').removeClass("active");
for (var i = 0; i < $(".rightList li").length; i++) {
if($(".rightList li")[i].getAttribute("item") == 'true') {
$(".rightList li")[i].setAttribute("item", "false")
arr.push($(".rightList li")[i])
}
}
for (var i = 0; i < arr.length; i++) {
$(".leftList").append(arr[i]);
}
})
$(".rightBtn").click(function() {
if($(".rightList li").length == 0) {
console.log("左邊已經沒有了")
}
if($(this).attr("data-check") == 'false') {
$(".rightList li").attr("item", "true").addClass("active");
$(this).attr("data-check", "true")
}else if($(this).attr("data-check") == 'true') {
$(".rightList li").attr("item", "false").removeClass("active");
$(this).attr("data-check", "false")
}
})
</script>
</body>
</html>