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 相关文章推荐
JS与jQuery实现子窗口获取父窗口元素值的方法
Apr 17 jQuery
jQuery实现多张图片上传预览(不经过后端处理)
Apr 29 jQuery
jQuery实现简单的滑动导航代码(移动端)
May 22 jQuery
jQuery自定义多选下拉框效果
Jun 19 jQuery
jquery单击文字或图片内容放大并居中显示
Jun 23 jQuery
jQuery实现的form转json经典示例
Oct 10 jQuery
jQuery实现的下雪动画效果示例【附源码下载】
Feb 02 jQuery
jQuery实现动态生成年月日级联下拉列表示例
May 11 jQuery
jquery获取input输入框中的值
Nov 13 jQuery
jQuery操作元素的内容和样式完整实例分析
Jan 10 jQuery
jQuery 实现DOM元素拖拽交换位置的实例代码
Jul 14 jQuery
jQuery+ajax实现文件上传功能
Dec 22 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获取MAC地址的具体实例
2013/12/13 PHP
php实现word转html的方法
2016/01/22 PHP
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
2007/05/14 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
Google AJAX 搜索 API实现代码
2010/11/17 Javascript
JavaScript中的Truthy和Falsy介绍
2015/01/01 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
2016/03/01 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
深入理解JS函数的参数(arguments)的使用
2016/05/28 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
Vue 2.0 服务端渲染入门介绍
2017/03/29 Javascript
Vuex之理解Store的用法
2017/04/19 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
vue-cli开发时,关于ajax跨域的解决方法(推荐)
2018/02/03 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
mac安装pytorch及系统的numpy更新方法
2018/07/26 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
python实现银行管理系统
2019/10/25 Python
Python类如何定义私有变量
2020/02/03 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
英文版银行求职信
2013/10/09 职场文书
药剂专业学生求职信范文
2013/12/28 职场文书
捐款倡议书范文
2014/02/02 职场文书
函授毕业个人自我评价
2014/02/20 职场文书
售后求职信范文
2014/03/15 职场文书
领导班子在批评与自我批评座谈会上的发言
2014/09/28 职场文书
酒店员工手册范本
2015/05/14 职场文书
一个独生女的故事观后感
2015/06/04 职场文书
导游词之河北邯郸
2019/09/12 职场文书
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers