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.validate表单验证插件使用详解
Jun 21 jQuery
jQuery查找和过滤_动力节点节点Java学院整理
Jul 04 jQuery
jQuery获取table表中的td标签(实例讲解)
Jul 28 jQuery
jquery插件开发之选项卡制作详解
Aug 30 jQuery
jQuery中 DOM节点操作方法大全
Oct 12 jQuery
springmvc接收jquery提交的数组数据代码分享
Oct 28 jQuery
jQuery实现右侧抽屉式在线客服功能
Dec 25 jQuery
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
jQuery实现每日秒杀商品倒计时功能
Sep 06 jQuery
jquery轻量级数字动画插件countUp.js使用详解
Oct 17 jQuery
jQuery实现聊天对话框
Feb 08 jQuery
jQuery实现图片切换效果
Oct 19 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之数据库操作详解及乱码解决!
2007/01/02 PHP
深入PHP内存相关的功能特性详解
2013/06/08 PHP
php header功能的使用
2013/10/28 PHP
php5.3 不支持 session_register() 此函数已启用的解决方法
2013/11/12 PHP
浅析php创建者模式
2014/11/25 PHP
curl和libcurl的区别简介
2015/07/01 PHP
PHP实现二维数组根据key进行排序的方法
2016/12/30 PHP
php 查找数组元素提高效率的方法详解
2017/05/05 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
thinkphp 框架数据库切换实现方法分析
2020/05/18 PHP
jQuery实现DIV层淡入淡出拖动特效的方法
2015/02/13 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
2015/02/28 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
JavaScript数组的栈方法与队列方法详解
2016/05/26 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
微信小程序实现翻牌抽奖动画
2020/09/21 Javascript
解决iview table组件里的 固定列 表格不自适应的问题
2020/11/13 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
vue3.0实现插件封装
2020/12/14 Vue.js
[00:12]2018DOTA2亚洲邀请赛 sylar表现SOLO技艺
2018/04/06 DOTA
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
Python实现全角半角字符互转的方法
2016/11/28 Python
python多任务之协程的使用详解
2019/08/26 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
python利用后缀表达式实现计算器功能
2021/02/22 Python
纯css3显示隐藏一个div特效的具体实现
2014/02/10 HTML / CSS
CSS3中:nth-child和:nth-of-type的区别深入理解
2014/03/10 HTML / CSS
iframe跨域的几种常用方法
2019/11/11 HTML / CSS
优秀工作者事迹材料
2014/12/26 职场文书
2016应届毕业生实习评语
2015/12/01 职场文书
Python pandas之求和运算和非空值个数统计
2021/08/07 Python