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 相关文章推荐
Django1.7+JQuery+Ajax验证用户注册集成小例子
Apr 08 jQuery
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
Jun 26 jQuery
jQuery获取table表中的td标签(实例讲解)
Jul 28 jQuery
jQuery 禁止表单用户名、密码自动填充功能
Oct 30 jQuery
jQuery.Sumoselect插件实现下拉复选框效果
Nov 09 jQuery
jQuery中ajax获取数据赋值给页面的实例
Dec 31 jQuery
jQuery中库的引用方法
Jan 06 jQuery
jQuery扩展方法实现Form表单与Json互相转换的实例代码
Sep 05 jQuery
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
Feb 20 jQuery
jquery 插件重新绑定的处理方法分析
Nov 23 jQuery
jQuery实现简单评论功能
Aug 19 jQuery
jQuery冲突问题解决方法
Jan 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代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
Javascript公共脚本库系列(一): 弹出层脚本
2011/02/24 Javascript
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
JavaScript实现的购物车效果可以运用在好多地方
2014/05/09 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
详解如何在vue中使用sass
2017/06/21 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
vue如何截取字符串
2019/05/06 Javascript
python读写二进制文件的方法
2015/05/09 Python
Python 中的 else详解
2016/04/23 Python
python3.x实现base64加密和解密
2019/03/28 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
2019/07/04 Python
Python如何读取、写入JSON数据
2020/07/28 Python
新加坡最受追捧的体验平台:Hapz
2018/01/01 全球购物
玉兰油美国官网:OLAY美国
2018/10/25 全球购物
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
List、Map、Set三个接口,存取元素时,各有什么特点?
2015/09/27 面试题
介绍一下grep命令的使用
2012/06/28 面试题
岗位职责定义及内容
2013/11/08 职场文书
初三学生评语大全
2014/04/24 职场文书
建设单位项目负责人任命书
2014/06/06 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
停水通知
2015/04/16 职场文书
家属联谊会致辞
2015/07/31 职场文书
新学期感想
2015/08/10 职场文书
学校教代会开幕词
2016/03/04 职场文书
七年级作文之我的梦想
2019/10/16 职场文书
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL
mysql分表之后如何平滑上线详解
2021/11/01 MySQL