jQuery实现穿梭框效果


Posted in jQuery onJanuary 19, 2021

本文实例为大家分享了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 相关文章推荐
jQuery UI Grid 模态框中的表格实例代码
Apr 01 jQuery
jQuery中clone()函数实现表单中增加和减少输入项
May 13 jQuery
使用jQuery实现动态添加小广告
Jul 11 jQuery
判断jQuery是否加载完成,没完成继续判断的解决方法
Dec 06 jQuery
jQuery实现判断上传图片类型和大小的方法示例
Apr 11 jQuery
jquery 验证用户名是否重复代码实例
May 14 jQuery
jQuery控制input只能输入数字和两位小数的方法
May 16 jQuery
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
May 27 jQuery
jquery实现垂直无限轮播的方法分析
Jul 16 jQuery
jquery插件开发模式实例详解
Jul 20 jQuery
Javascript和jquery在selenium的使用过程
Oct 31 jQuery
jQuery实现的分页插件完整示例
May 26 jQuery
jQuery冲突问题解决方法
Jan 19 #jQuery
jQuery实现购物车全功能
Jan 11 #jQuery
jQuery实现手风琴特效
Jan 11 #jQuery
多种类型jQuery网页验证码插件代码实例
Jan 09 #jQuery
使用jquery实现轮播图效果
Jan 02 #jQuery
jQuery实现全选按钮
Jan 01 #jQuery
jquery自定义组件实例详解
Dec 31 #jQuery
You might like
php+mysql实现无限级分类 | 树型显示分类关系
2006/11/19 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
2016/03/18 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
简单js代码实现selece二级联动(推荐)
2014/02/18 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
2014/06/13 Javascript
告诉你什么是javascript的回调函数
2014/09/04 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
JavaScript函数详解
2015/02/27 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
2016/05/04 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
Vue2.0组件间数据传递示例
2017/03/07 Javascript
BootstrapValidator实现注册校验和登录错误提示效果
2017/03/10 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
2017/05/11 Javascript
Node.js简单入门前传
2017/08/21 Javascript
Vue 组件注册实例详解
2019/02/23 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
Python构建网页爬虫原理分析
2017/12/19 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
2020/07/07 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
用C语言实现文件读写操作
2013/10/27 面试题
编程实现去掉XML的重复结点
2014/05/28 面试题
历史学专业大学生找工作的自我评价
2013/10/16 职场文书
社区志愿者心得体会
2014/01/03 职场文书
公司授权委托书
2014/04/04 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
委托书怎样写
2014/08/30 职场文书
员工离职证明范本
2015/06/12 职场文书
幼儿园大班教师随笔
2015/08/14 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书
SQL 聚合、分组和排序
2021/11/11 MySQL