如何用JS实现上线移动、置顶、置底按钮?
Admin 2022-11-01 群英技术资讯 513 次浏览
本文实例为大家分享了js实现按钮进行某行上移下移的具体代码,供大家参考,具体内容如下
先上个通用简单的代码:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>使用js实现上移、下移、置顶、置底功能及源码案例</title> <meta name="description" content=""> <meta name="keywords" content=""> <link href="" rel="stylesheet"> <script src="jquery-1.7.1.min.js"></script> <style> .demo li{line-height: 30px;border-bottom: 1px solid #000;} .demo li a{padding: 0 20px;} </style> </head> <body> <ul id="addChildDiv"> <li>001 <a href="#" class="up1">上移</a><a href="#" class="down1">下移</a><a href="#" class="top1">置顶</a><a href="#" class="bottom1">置底</a></li> <li>002 <a href="#" class="up1">上移</a><a href="#" class="down">下移</a><a href="#" class="top1">置顶</a><a href="#" class="bottom1">置底</a></li> <li>003 <a href="#" class="up1">上移</a><a href="#" class="down1">下移</a><a href="#" class="top1">置顶</a><a href="#" class="bottom1">置底</a></li> <li>004 <a href="#" class="up1">上移</a><a href="#" class="down1">下移</a><a href="#" class="top1">置顶</a><a href="#" class="bottom1">置底</a></li> </ul> <script> $("#addChildDiv").on('click', 'a', function(event) { event.preventDefault; var parent=$(this).parent(); var parents=$(this).parents("#addChildDiv"); var len=parents.children().length; if(($(this).is(".up1") || $(this).is(".top1")) && parent.index()==0){ return false; }else if(($(this).is(".down1") || $(this).is(".bottom1")) && parent.index()==len-1){ return false; } switch (true) { case $(this).is(".up1"): var prev = parent.prev(); parent.insertBefore(prev); break; case $(this).is(".down1"): var next = parent.next(); parent.insertAfter(next); break; case $(this).is(".top1"): parents.prepend(parent); break; case $(this).is(".bottom1"): parents.append(parent); break; } }); </script> </body> </html>
样式如下:
以下是实际运用,包括移动后获取数据,每一行的顺序等等:
//获取数据后插入页面 function getLine(){ var childAreaListSize = ${childAreaListSize }; var childAreaList = ${childAreaList }; for(var i=0;i<childAreaListSize;i++){ ++a; var tar = "<li>"; tar += " <input type=\"hidden\" id=\"awId_" +a+ "\" name=\"awId_" +a+"\" value=\""+ childAreaList[i].id + "\" />"; tar += " <span style=\"color: red;\">*</span>"; tar += " <span \">工程代码:</span>"; tar += " <input style=\"width:250px\" type=\"text\" id=\"awCode_" +a+ "\" name=\"awCode_" +a+"\" value=\""+ childAreaList[i].awCode + "\" maxlength=\"50\" readonly/>"; tar += " <span style=\"color: red;\">*</span>"; tar += " <span \">工程名称:</span>"; tar += " <input style=\"width:250px\" type=\"text\" id=\"awName_" +a+ "\" name=\"awName_" +a+"\" value=\""+ childAreaList[i].awName + "\" maxlength=\"50\" readonly/>"; tar += " <a href=\"###\" class=\"top1\" \">置顶</a>"; tar += " <a href=\"###\" class=\"up1\" \">上移</a>"; tar += " <a href=\"###\" class=\"down1\" \">下移</a>"; tar += " <a href=\"###\" class=\"bottom1\" \">置底</a>"; tar += "</li>"; $("#addChildDiv").append(tar); } } //排序 $("#addChildDiv").on('click', 'a', function(event) { event.preventDefault; var parent=$(this).parent(); var parents=$(this).parents("#addChildDiv"); var len=parents.children().length; if(($(this).is(".up1") || $(this).is(".top1")) && parent.index()==0){ return false; }else if(($(this).is(".down1") || $(this).is(".bottom1")) && parent.index()==len-1){ return false; } switch (true) { case $(this).is(".up1"): var prev = parent.prev(); parent.insertBefore(prev); break; case $(this).is(".down1"): var next = parent.next(); parent.insertAfter(next); break; case $(this).is(".top1"): parents.prepend(parent); break; case $(this).is(".bottom1"): parents.append(parent); break; } }); //保存数据 var putFlag = false; //避免重复提交 function saveData(){ if(putFlag == true){ $.dialog.tips('禁止重复提交!',3,'alert.gif',function(){}); return false; } $("#num").val(a);//设置提交的数量 var d=$.dialog.tips('正在执行,请稍候...',600,'loading.gif'); //var list=$("#addChildDiv li input[type='hidden']"); 获取id:addChildDiv下的li标签的input标签的hidden类型 var list = ","; for (var i=0;i<a;i++){ // 获取id:addChildDiv下的第i的li标签的input标签的hidden类型 var zzz = $("#addChildDiv").find("li:eq("+i+")").find("input[type='hidden']").val(); list = list + zzz +"," } //保存 putFlag = true; $.ajax({ type:'post', data:{"ids":list}, url:'${root}/base/BaseAreaWorkSpace/orderChild.jspx?myId='+$("#myId").val(), async:false, dataType:"json", success:function(data){ putFlag = false; $.dialog.tips(data.message,3,'alert.gif',function(){}); closePop(); //600ms后再加载数据 setTimeout(function () { dataLoad(); }, 600); //d.close(); } }) }
关于“如何用JS实现上线移动、置顶、置底按钮?”的内容今天就到这,感谢各位的阅读,大家可以动手实际看看,对大家加深理解更有帮助哦。如果想了解更多相关内容的文章,关注我们,群英网络小编每天都会为大家更新不同的知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本篇文章带大家聊聊ES6,带你30分钟熟练使用最常用的ES6,还不学是等着被卷死?
这篇文章主要介绍了javascript的基础交互详解,文章通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍了vue3自定义dialog、modal组件的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
JavaScript中怎样实现求n的阶乘?求n的阶乘是很经典的一个算术练习题,JavaScript中实现求n的阶乘的方法有很多,这里主要给大家分享的时候用for方法,文中示例代码介绍的很详细,感兴趣的朋友接下来一起跟随小编看看吧。
React.forwardRef的API中ref必须指向dom元素而不是React组件,通过一段示例代码给大家介绍了React forwardRef使用方法及注意点还有一些特殊情况分析,感兴趣的朋友跟随小编一起看看吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008