This article example shares the specific code of jQuery to achieve the shuttle box effect for your reference. The specific content is as follows Introduction: Today I will introduce the realization of the shuttle frame Layout implementation <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> Layout Style <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> Code Implementation <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> The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: MySQL 5.7.13 source code compilation, installation and configuration method graphic tutorial
>>: Detailed explanation of importing/exporting MySQL data in Docker container
In daily work, we often need to view logs. For ex...
During the development process, I often encounter...
Regarding some MySQL specifications, some compani...
<br />Scientifically Design Your Website: 23...
Preface Recently, I encountered a requirement at ...
Recently, when I was learning jQuery, I came acro...
HTML5 adds more semantic tags, such as header, fo...
The transaction log records the operations on the...
The installation process of VMwarea will not be d...
This article example shares the specific code of ...
Table of contents Preface Idea startup speed Tomc...
Since I returned the Mac, my original laptop has ...
Linux online installation related commands: yum i...
Table of contents 1. Install Node Exporter 2. Ins...
In daily development, front-end students often ar...