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实现鼠标经过显示动画边框特效
Mar 24 jQuery
jQuery正则验证注册页面经典实例
Jun 10 jQuery
jQuery自定义多选下拉框效果
Jun 19 jQuery
jquery单击文字或图片内容放大并居中显示
Jun 23 jQuery
jQuery幻灯片插件owlcarousel参数说明中文文档
Feb 27 jQuery
用jQuery将JavaScript对象转换为querystring查询字符串的方法
Nov 12 jQuery
JQuery搜索框自动补全(模糊匹配)功能实现示例
Jan 08 jQuery
jQuery ajax仿Google自动提示SearchSuggess功能示例
Mar 28 jQuery
jQuery分组选择器简单用法示例
Apr 04 jQuery
jquery实现直播弹幕效果
Nov 28 jQuery
jQuery 动画与停止动画效果实例详解
May 19 jQuery
原生jQuery实现只显示年份下拉框
Dec 24 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翻页类
2009/06/01 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
2011/11/07 PHP
PHP实现自动对图片进行滚动显示的方法
2015/03/12 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
Alliance vs AM BO3 第一场2.13
2021/03/10 DOTA
需要做特殊处理的DOM元素属性的访问
2010/11/05 Javascript
javaScript NameSpace 简单说明介绍
2013/07/18 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
2013/12/18 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
javascript的正则匹配方法学习
2016/02/24 Javascript
javascript中JSON.parse()与eval()解析json的区别
2016/05/19 Javascript
BootStrap Fileinput初始化时的一些参数
2016/12/30 Javascript
angular.JS实现网页禁用调试、复制和剪切
2017/03/31 Javascript
vue和webpack安装命令详解
2018/06/15 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
2018/07/13 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
2019/04/09 Javascript
[19:14]DOTA2 HEROS教学视频教你分分钟做大人-维萨吉
2014/06/24 DOTA
python用ConfigObj读写配置文件的实现代码
2013/03/04 Python
Python遍历指定文件及文件夹的方法
2015/05/09 Python
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
Python读取MRI并显示为灰度图像实例代码
2018/01/03 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
浅析PHP与Python进行数据交互
2018/05/15 Python
Python网页正文转换语音文件的操作方法
2018/12/09 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
tornado+celery的简单使用详解
2019/12/21 Python
Python3操作YAML文件格式方法解析
2020/04/10 Python
python如何从键盘获取输入实例
2020/06/18 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
TecoBuy澳大利亚:在线电子和小工具商店
2020/06/25 全球购物
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
党风廉政建设调研报告
2015/01/01 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书
SQL Server Agent 服务无法启动
2022/04/20 SQL Server
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL