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 zTree树插件动态加载实例代码
May 11 jQuery
jQuery实现下拉菜单的实例代码
Jun 19 jQuery
jQuery鼠标移动图片上实现放大效果
Jun 25 jQuery
jQuery开源组件BootstrapValidator使用详解
Jun 29 jQuery
jQuery完成表单验证的实例代码(纯代码)
Sep 30 jQuery
jQuery ajax调用webservice注意事项
Oct 08 jQuery
jQuery ajax读取本地json文件的实例
Oct 31 jQuery
jQuery实现列表的增加和删除功能
Jun 14 jQuery
jquery+php后台实现省市区联动功能示例
May 23 jQuery
jquery中为什么能用$操作
Jun 18 jQuery
jQuery实现轮播图源码
Oct 23 jQuery
jquery实现简单拖拽效果
Jul 20 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中“简单工厂模式”实例代码讲解
2012/09/04 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
整理JavaScript创建对象的八种方法
2015/11/03 Javascript
Node.js静态文件服务器改进版
2016/01/10 Javascript
关于vue.js弹窗组件的知识点总结
2016/09/11 Javascript
利用fecha进行JS日期处理
2016/11/21 Javascript
Javascript 链式作用域详细介绍
2017/02/23 Javascript
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
vue移动端html5页面根据屏幕适配的四种解决方法
2018/10/19 Javascript
Vue 样式绑定的实现方法
2019/01/15 Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
2019/03/26 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
Vue-cli打包后部署到子目录下的路径问题说明
2020/09/02 Javascript
Python发送form-data请求及拼接form-data内容的方法
2016/03/05 Python
Python性能提升之延迟初始化
2016/12/04 Python
python ddt实现数据驱动
2018/03/14 Python
详解python异步编程之asyncio(百万并发)
2018/07/07 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
python编程进阶之异常处理用法实例分析
2020/02/21 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
Django更新models数据库结构步骤
2020/04/01 Python
python 写一个性能测试工具(一)
2020/10/24 Python
python中使用np.delete()的实例方法
2021/02/01 Python
canvas简单连线动画的实现代码
2020/02/04 HTML / CSS
红色康乃馨酒店:Red Carnation Hotels
2017/06/22 全球购物
PHP解析URL是哪个函数?怎么用?
2013/05/09 面试题
保洁主管岗位职责
2013/11/20 职场文书
加工操作管理制度
2014/01/19 职场文书
西安交大自主招生自荐信
2014/01/27 职场文书
小学毕业感言500字
2014/02/28 职场文书
结婚喜宴主持词
2014/03/14 职场文书
机关会计岗位职责
2014/04/08 职场文书
村班子对照检查材料
2014/08/18 职场文书
2014年党建工作总结
2014/11/11 职场文书
2014年社区个人工作总结
2014/12/02 职场文书
工厂无线对讲系统解决方案
2022/02/18 无线电