明霞山资源网 Design By www.htccd.com
本文实例为大家分享了jQuery实现穿梭框效果的具体代码,供大家参考,具体内容如下
简介:今天给大家带来穿梭框的实现
布局的实现
<div id="box">
<div id="boxleft">
<ul id="left_ul">
</ul>
</div>
<div id="boxbtn">
<button id="btn_right"></button>
<button id="btn_left">
<<<< </button>
</div>
<div id="boxright">
<ul id="right_ul">
</ul>
</div>
</div>
布局的样式
<style>
* {
margin: 0 auto;
padding: 0;
list-style: none;
}
#box {
width: 500px;
display: flex;
justify-content: space-around;
margin-top: 20px;
}
#boxright {
width: 200px;
height: 500px;
border: 1px solid darkcyan;
}
#boxleft {
width: 200px;
height: 500px;
border: 1px solid darkcyan;
}
#boxbtn {
margin: auto;
}
#boxbtn button {
width: 50px;
height: 200ox;
margin-top: 10px;
display: flex;
background: deepskyblue;
cursor: pointer;
color: white;
}
ul li {
height: 30px;
line-height: 30px;
margin-bottom: 2px;
text-align: center;
background: darkgray;
}
form {
text-align: center;
}
.active {
color: white;
background: darkseagreen;
}
</style>
代码实现
<script>
let arr = [
{ "id": 1, "name": "zhang", "check": false },
{ "id": 2, "name": "liu", "check": false },
{ "id": 3, "name": "guan", "check": false },
{ "id": 4, "name": "zhao", "check": true },
{ "id": 5, "name": "ao", "check": true }
];
$("#add").click(function () {
var name = $("#name").val();
arr.push({ "name": name });
showUL(arr);
})
$(function () {
showUL(arr);
})
function showUL(arr) {
var leftstr = "";
var rightstr = "";
for(let i in arr) {
let { id, name, check } = arr[i];
if (check) {
rightstr += `
<li _id="${id}">${name}</li>
`
} else {
leftstr += `
<li _id="${id}">${name}</li>
`
}
}
$("#left_ul").html(leftstr);
$("#right_ul").html(rightstr);
}
$("#left_ul").on("click", "li", function () {
let index = arr.findIndex((v) => {
return v.id == $(this).attr("_id");
})
if ($(this).hasClass('active')) {
$(this).removeClass('active');
arr[index].check = false;
} else {
$(this).addClass('active');
arr[index].check = true;
}
});
$("#right_ul").on("click", "li", function () {
let index = arr.findIndex((v) => {
return v.id == $(this).attr("_id");
})
if ($(this).hasClass('active')) {
$(this).removeClass('active');
arr[index].check = true;
} else {
$(this).addClass('active');
arr[index].check = false;
}
});
$("#btn_right").click(function () {
if ($("#left_ul .active").length == 0) return false;
showUL(arr);
})
$("#btn_left").click(function () {
if ($("#right_ul .active").length == 0) return false;
showUL(arr);
})
</script>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
jQuery,穿梭框
明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。