如何用JS实现上线移动、置顶、置底按钮?
Admin 2022-11-01 群英技术资讯 337 次浏览
本文实例为大家分享了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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
windows下怎么安装node版本管理工具(nvm)?下面本篇文章给大家介绍一些安装nvm工具踩的坑,以及解决方法,希望对大家有所帮助!
这篇文章主要为大家详细介绍了JavaScript实现放大镜效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
目录vue ant design 封装弹窗表单使用ant-design-vue的Form表单使用脚手架新建项目安装并导入ant-design-vue,使用Form组件启动应用,测试验证vue ant design 封装弹窗表单template div id=formForm a-modal
这篇文章我们来了解怎样判断复选框是否选中,复选框的使用还是比较常见的,下文主要使用jQuery判断复选框选中与否,利用了prop('checked')和is(':checked'),这两个方法,实现代码如下,有需要的朋友可以参考,接下来就跟随小编来一起学习一下吧!
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