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获取table下某一行某一列的值实现代码
Apr 07 jQuery
基于jQuery实现文字打印动态效果
Apr 21 jQuery
jQuery操作css样式
May 15 jQuery
jQuery:unbind方法的使用详解
Aug 14 jQuery
jQuery中内容过滤器简单用法示例
Mar 31 jQuery
jQuery阻止事件冒泡实例分析
Jul 03 jQuery
jQuery实现的简单拖拽功能示例【测试可用】
Aug 14 jQuery
jQuery解析json格式数据示例
Sep 01 jQuery
jQuery插件实现的日历功能示例【附源码下载】
Sep 07 jQuery
jQuery使用each遍历循环的方法
Sep 19 jQuery
jQuery无冲突模式详解
Jan 17 jQuery
jQuery实现简单评论区功能
Oct 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文件操作的详解
2013/06/05 PHP
php配合jquery实现增删操作具体实例
2013/12/12 PHP
PHP的运行机制与原理(底层)
2015/11/16 PHP
php实现URL加密解密的方法
2016/11/17 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
PHP实现随机数字、字母的验证码功能
2018/08/01 PHP
php 中的信号处理操作实例详解
2020/03/04 PHP
jquery $.ajax入门应用一
2008/11/19 Javascript
浅说js变量
2011/05/25 Javascript
JQuery扩展插件Validate 3通过参数设置错误信息
2011/09/05 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
js里怎么取select标签里的值并修改
2012/12/10 Javascript
js实现仿Windows风格选项卡和按钮效果实例
2015/05/13 Javascript
JQuery实现鼠标移动图片显示描述层的方法
2015/06/25 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
基于jquery实现下拉框美化特效
2016/02/02 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
Bootstrap基本样式学习笔记之标签(5)
2016/12/07 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
python str与repr的区别
2013/03/23 Python
python字符串排序方法
2014/08/29 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
Python比较配置文件的方法实例详解
2019/06/06 Python
python 消除 futureWarning问题的解决
2019/12/25 Python
keras 特征图可视化实例(中间层)
2020/01/24 Python
Python Tornado核心及相关原理详解
2020/06/24 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
大学生两会学习心得体会
2014/03/10 职场文书
MySQL创建管理KEY分区
2022/04/13 MySQL