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实现动态生成表格并为行绑定单击变色动作的方法
Apr 17 jQuery
jquery实现图片轮播器
May 23 jQuery
jQuery UI 实例讲解 - 日期选择器(Datepicker)
Sep 18 jQuery
jQuery插件artDialog.js使用与关闭方法示例
Oct 09 jQuery
vue-cli webpack 引入jquery的方法
Jan 10 jQuery
jQuery实现的点击图片居中放大缩小功能示例
Jan 16 jQuery
jQuery实现的鼠标拖动画矩形框示例【可兼容IE8】
May 17 jQuery
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
Jul 11 jQuery
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
Oct 10 jQuery
jQuery实现颜色打字机的完整代码
Mar 19 jQuery
基于ajax及jQuery实现局部刷新过程解析
Sep 12 jQuery
jQuery实现动态操作table行
Nov 23 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
smarty中先strip_tags过滤html标签后truncate截取文章运用
2010/10/25 PHP
php邮件发送,php发送邮件的类
2011/03/24 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
2016/10/20 PHP
jQuery Ajax 实例全解析
2011/04/20 Javascript
JavaScript中函数声明优先于变量声明的实例分析
2012/03/01 Javascript
js 对小数加法精度处理示例说明
2013/12/27 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
2014/08/04 Javascript
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
Bootstrap实现水平排列的表单
2016/07/04 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
JS动态生成年份和月份实例代码
2017/02/04 Javascript
JavaScript实现的XML与JSON互转功能详解
2017/02/16 Javascript
JavaScript实现一个空中避难的小游戏
2017/06/06 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
JavaScript使用Ajax上传文件的示例代码
2017/08/10 Javascript
JavaScript实现的简单Tab点击切换功能示例
2018/07/06 Javascript
深入理解JavaScript的值传递和引用传递
2018/10/24 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
Python使用MONGODB入门实例
2015/05/11 Python
Python Requests模拟登录实现图书馆座位自动预约
2018/04/27 Python
BP神经网络原理及Python实现代码
2018/12/18 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
Python使用Pickle模块进行数据保存和读取的讲解
2019/04/09 Python
python调用摄像头的示例代码
2020/09/28 Python
Giglio美国站:意大利奢侈品购物网
2018/02/10 全球购物
公司前台接待岗位职责
2013/12/03 职场文书
总裁办公室主任职责
2014/01/02 职场文书
社团成立邀请函
2014/01/08 职场文书
小学生期末自我鉴定
2014/01/19 职场文书
先进事迹报告会主持词
2014/04/02 职场文书
党员干部观看《周恩来四个昼夜》思想汇报
2014/09/10 职场文书
python flask开发的简单基金查询工具
2021/06/02 Python
Python max函数中key的用法及原理解析
2021/06/26 Python