JS實現(xiàn)一個列表中包含上移下移刪除等功能
最近做了一個項目,包括了一個列表頁,為了用戶體驗,操作均使用JS實現(xiàn),其中包括在列表中實現(xiàn)上移,下移,刪除等功能,前臺JS,后端數(shù)據(jù)修改使用AJAX,本文主要說一下前臺JS這塊
先看一下頁面的截圖
看一下它的HTML結(jié)構(gòu),當(dāng)然,這與前臺切圖有關(guān),后端程序人員只負責(zé)寫自己的JS這塊,我以我們項目為例,看一下它們切的HTML
<ul class="clearfix"> <li class="courseList"> <div class="titDefault clearfix"> <div class="left clearfix"> <span class="dragBtn"></span><span class="tit">內(nèi)容<em class="contIndex">1</em>:</span><em title="2013年 加班.txt" class="titDefaultName">2013年 加班.txt</em> </div> <div class="mid">2014/9/24 9:54:00</div> <div class="right clearfix"> <a value="253040" class="moveUpBtn" href="javascript:;"><span class="delTit">上移</span></a> <a value="253040" class="moveDownBtn" href="javascript:;"><span class="delTit">下移</span></a> <a value="253040" class="deleteBtn" href="javascript:;"><span class="delTit">刪除</span></a> </div> </div> </li> <li class="courseList"> <div class="titDefault clearfix"> <div class="left clearfix"> <span class="dragBtn"></span><span class="tit">內(nèi)容<em class="contIndex">2</em>:</span><em title="使用說明.txt" class="titDefaultName">使用說明.txt</em> </div> <div class="mid">2014/9/24 9:54:00</div> <div class="right clearfix"> <a value="253041" class="moveUpBtn" href="javascript:;"><span class="delTit">上移</span></a> <a value="253041" class="moveDownBtn" href="javascript:;"><span class="delTit">下移</span></a> <a value="253041" class="deleteBtn" href="javascript:;"><span class="delTit">刪除</span></a> </div> </div> </li> <li class="courseList"> <div class="titDefault clearfix"> <div class="left clearfix"> <span class="dragBtn"></span><span class="tit">內(nèi)容<em class="contIndex">3</em>:</span><em title="占占大師.txt" class="titDefaultName">占占大師.txt</em> </div> <div class="mid">2014/9/24 9:54:00</div> <div class="right clearfix"> <a value="253040" class="moveUpBtn" href="javascript:;"><span class="delTit">上移</span></a> <a value="253040" class="moveDownBtn" href="javascript:;"><span class="delTit">下移</span></a> <a value="253040" class="deleteBtn" href="javascript:;"><span class="delTit">刪除</span></a> </div> </div> </li> <li class="courseList"> <div class="titDefault clearfix"> <div class="left clearfix"> <span class="dragBtn"></span><span class="tit">內(nèi)容<em class="contIndex">4</em>:</span><em title="排序問題.txt" class="titDefaultName">排序問題.txt</em> </div> <div class="mid">2014/9/24 9:54:00</div> <div class="right clearfix"> <a value="253041" class="moveUpBtn" href="javascript:;"><span class="delTit">上移</span></a> <a value="253041" class="moveDownBtn" href="javascript:;"><span class="delTit">下移</span></a> <a value="253041" class="deleteBtn" href="javascript:;"><span class="delTit">刪除</span></a> </div> </div> </li> </ul>
下面我們主要看一下JS代碼,主要使用JQ的on方法實現(xiàn)的,原因是因為列表的數(shù)據(jù)有第一次為靜態(tài)的(bind),當(dāng)排序后,數(shù)據(jù)變?yōu)閯討B(tài)的(live),所以,這種結(jié)構(gòu)只能使用on才最合理,看一下代碼
<script type="text/ecmascript"> $(function () { //上移 $(".clearfix").on("click", ".moveUpBtn", function () { var self = $(this); var _old = self.closest("li.courseList"); var _new = self.closest("li.courseList").prev("li"); if (_new.length > 0) { var _temp = _old.html(); _old.empty().append(_new.html()); _new.empty().append(_temp); } }); //下移 $(".clearfix").on("click", ".moveDownBtn", function () { var self = $(this); var _old = self.closest("li.courseList"); var _new = self.closest("li.courseList").next("li"); if (_new.length > 0) { var _temp = _old.html(); _old.empty().append(_new.html()); _new.empty().append(_temp); } }); //刪除 $(".clearfix").on("click", ".deleteBtn", function () { var self = $(this);//當(dāng)前click事件源對象 self.closest("li.courseList").remove(); }); }); </script>
運行之后,效果就出來了,本JS中沒有把與后臺交互的AJAX方法寫出來,大家可以根據(jù)具體情況而定。
- 基于js實現(xiàn)數(shù)組相鄰元素上移下移
- js操作table中tr的順序?qū)崿F(xiàn)上移下移一行的效果
- JS與jQuery實現(xiàn)ListBox上移,下移,左移,右移操作功能示例
- js實現(xiàn)數(shù)組內(nèi)數(shù)據(jù)的上移和下移的實例
- Vue.js實現(xiàn)一個todo-list的上移下移刪除功能
- AngularJS實現(xiàn)數(shù)據(jù)列表的增加、刪除和上移下移等功能實例
- JS實現(xiàn)的表格操作類詳解(添加,刪除,排序,上移,下移)
- js實現(xiàn)Select列表各項上移和下移的方法
- JS實現(xiàn)點擊上移下移LI行數(shù)據(jù)的方法
- js實現(xiàn)按鈕進行某行上移下移
相關(guān)文章
JavaScript代碼實現(xiàn)txt文件的上傳預(yù)覽功能
本篇文章給大家介紹了JavaScript代碼實現(xiàn)txt文件的上傳預(yù)覽功能,文字代碼相結(jié)合的形式給大家介紹的非常詳細,需要的朋友參考下吧2018-03-03Javascript中定義方法的另類寫法(批量定義js對象的方法)
用了很多的Javascript框架,偶爾也會去看一下框架的源碼,經(jīng)常會看到這樣的代碼。2011-02-02基于JavaScript構(gòu)建一個動態(tài)博客應(yīng)用
這篇文章主要為大家詳細介紹了如何基于JavaScript構(gòu)建一個動態(tài)博客應(yīng)用,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02基于JavaScript判斷瀏覽器到底是關(guān)閉還是刷新(超準(zhǔn)確)
這篇文章主要介紹了基于JavaScript判斷瀏覽器到底是關(guān)閉還是刷新(超準(zhǔn)確)的相關(guān)資料,需要的朋友可以參考下2016-02-02