js 操作table之 移动TR位置 兼容FF 跟 IE
发布时间:2020-07-27 00:10:47
标签:js,操作table
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>js操作table之 移动TR位置 兼容FF 跟 IE </title> <script language="javascript"> var mousePos; function Up_Move(obj){ try{ if(document.all){ document.getElementById('show_input').style.top = mousePos.y document.getElementById('show_input').style.left = mousePos.x }else{ document.getElementById('show_input').style.top = mousePos.y+"px"; document.getElementById('show_input').style.left = mousePos.x+"px"; } }catch(e){} show_input_div(); document.getElementById("shuzhitijiao").onclick=function(){ var move_no=document.getElementById("move_no").value; move_no=parseInt(move_no); if(move_no==""||isNaN(move_no)){ alert("请输入要移动的位数"); document.getElementById("move_no").focus(); return; } hidden_input_div(); var table_obj,tr_obj,tr_move_obj; tr_obj=obj.parentNode.parentNode; table_obj=tr_obj.parentNode; for(var i=0;i<table_obj.childNodes.length;i++){ if(tr_obj == table_obj.childNodes[i]){ if(i==0){ alert("此记录已经是第一位"); return; } if(navigator.userAgent.indexOf('MSIE')>0){ if(i<move_no){ tr_move_obj=table_obj.childNodes[0]; }else{ tr_move_obj=table_obj.childNodes[i-move_no]; } }else{ move_no=move_no*2; if(i<move_no){ tr_move_obj=table_obj.childNodes[0]; }else{ tr_move_obj=table_obj.childNodes[i-move_no]; } } document.getElementById("move_no").value=""; break; } } table_obj.removeChild(tr_obj); table_obj.insertBefore(tr_obj,tr_move_obj); document.getElementById("move_no").value=""; } document.getElementById("shuzhiquxiao").onclick=function(){ hidden_input_div(); } } function Down_Move(obj){ try{ if(document.all){ document.getElementById('show_input').style.top = mousePos.y document.getElementById('show_input').style.left = mousePos.x }else{ document.getElementById('show_input').style.top = mousePos.y+"px"; document.getElementById('show_input').style.left = mousePos.x+"px"; } }catch(e){} show_input_div(); document.getElementById("shuzhitijiao").onclick=function(){ var move_no=document.getElementById("move_no").value; move_no=parseInt(move_no); if(move_no!=""&&!isNaN(move_no)){ hidden_input_div(); var table_obj,tr_obj,tr_move_obj; tr_obj=obj.parentNode.parentNode; table_obj=tr_obj.parentNode; for(var i=0;i<table_obj.childNodes.length;i++){ if(tr_obj == table_obj.childNodes[i]){ if(i==table_obj.childNodes.length-1){ alert("此记录已经是最后一位"); return; } if(navigator.userAgent.indexOf('MSIE')>0){ if(table_obj.childNodes.length-i-2<move_no){ table_obj.removeChild(tr_obj); table_obj.appendChild(tr_obj); }else{ tr_move_obj=table_obj.childNodes[i+move_no+1]; table_obj.removeChild(tr_obj); table_obj.insertBefore(tr_obj,tr_move_obj); } }else{ move_no=move_no*2; if(table_obj.childNodes.length-i-2<move_no){ table_obj.removeChild(tr_obj); table_obj.appendChild(tr_obj); }else{ tr_move_obj=table_obj.childNodes[i+move_no+2]; table_obj.removeChild(tr_obj); table_obj.insertBefore(tr_obj,tr_move_obj); } } document.getElementById("move_no").value=""; break; } } }else{ alert("请输入要移动的位数"); document.getElementById("move_no").focus(); } document.getElementById("move_no").value=""; } document.getElementById("shuzhiquxiao").onclick=function(){ hidden_input_div(); } } function show_input_div(){ document.getElementById("show_input").style.display="block"; } function hidden_input_div(){ document.getElementById("show_input").style.display="none"; } </script> <style type="text/css"> body { margin:0; padding:0; font-size:12px; } #show_input { background:#CCCCCC; position:absolute; width:200px; height:100px; /* top:100px; left:500px;*/ display:none; padding:10px; } ul, li { margin:0; padding:0; list-style:none; } </style> </head> <body> <div id="show_input"> <ul> <li>请输入所要移动的位数</li> <li> <input name="move_no" type="text" id="move_no" /> </li> <li> <input name="shuzhitijiao" id="shuzhitijiao" type="button" value="确定" /> <input name="shuzhiquxiao" id="shuzhiquxiao" type="button" value="取消" /> </li> </ul> </div> <table width="500" border="1" align="center" cellpadding="0" cellspacing="0" id="showContent"> <tr> <td height="25">上移1</td> <td>下移</td> </tr> <tr> <td height="25">上移2</td> <td>下移</td> </tr> <tr> <td height="25">上移3</td> <td>下移</td> </tr> <tr> <td height="25">上移4</td> <td>下移</td> </tr> <tr> <td height="25">上移5</td> <td>下移</td> </tr> <tr> <td height="25">上移6</td> <td>下移</td> </tr> <tr> <td height="25">上移7</td> <td>下移</td> </tr> <tr> <td height="25">上移8</td> <td>下移</td> </tr> <tr> <td height="25">上移9</td> <td>下移</td> </tr> <tr> <td height="25">上移10</td> <td>下移</td> </tr> </table> <script type="text/javascript"> function mouseposition(ev){ if(ev.pageX || ev.pageY){ return {x:ev.pageX, y:ev.pageY};} return {x:ev.clientX+document.body.scrollLeft-document.body.clientLeft,y:ev.clientY+document.body.scrollTop-document.body.clientTop} } var showContent = document.getElementById('showContent').getElementsByTagName('a') for(i=0;i<showContent.length;i++){ showContent[i].onmouseover = function(ev){ ev=ev||window.event; mousePos=mouseposition(ev); } } </script> </body> </html>


猜你喜欢
- matplotlib官方除了提供了鼠标十字光标的示例,还提供了同一图像内多子图共享光标的示例,其功能主要由widgets模块中的MultiC
- sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 sysdate+5/24/60 在系统时间基础上延迟5分钟 sysdat
- RegExp对象的语义和使用:检查字符串匹配获取字符串中的部分内容在原字符串的基础上构建一个新的字符串(包括添加、删除和修改)构建一个Reg
- tensorflow作为google开源的项目,现在赶超了caffe,好像成为最受欢迎的深度学习框架。确实在编写的时候更能感受到代码的真实存
- 这学期在学python,感觉想写一个东西来巩固自己的基础,因为大二的时候我看过python,所以还是一共花了几个小时写了一个基于mysql的
- Golang 高并发问题的解决Golang在高并发问题上,由于协程的使用,相对于其他编程语言,已经有了很大的优势,即相同的配置上,Golan
- 本文实例为大家分享了微信小程序实现上传多个文件超过10个的具体代码,供大家参考,具体内容如下【小程序笔记】wx.uploadFile(OBJ
- 1、何为ansible-playbookplaybook是ansible用于配置,部署,和管理被控节点的剧本,通过playbook的详细描述
- asp连接sql 第一种写法: 代码如下: MM_conn_STRING = "Driver={SQL Server};serv
- 一般来说,内置的slice()函数会创建一个切片对象,可以用在任何允许进行切片操作的地方。下面是slice的简介:# slice 两种用法c
- Python json 错误xx is not JSON serializable解决办法在使用json的时候经常会遇到xxx
- 方法一://PHP stdClass Object转array function object_array($array) {&
- 用下面方法解决(管理mysql用的是navicat).,设置以下几个参数的值后就正常了,以下语句也可以在mysql的控制台上执行 . sho
- 初学ASP,程序是能勉强写出来了,但若每进行一次网站页面的改版,所有的源程序都将进行一次移植手术。为此所耗费的人力精力不计其数,甚至一不小心
- 在pycharm中设置python脚本的文件模板,让文件创建的时候就自动写上一些相关信息:1、进入pycharm的File->sett
- CSS换肤技术一直是一个比较热门的话题,通过给HTML文档不同的CSS样式应用,实现完全不同或风格迥异的页面效果。这样的技术一直为大家所津津
- 文件的存储方式在计算机中,文件是以 二进制的方式保存在磁盘上的文本文件和二进制文件文本文件可以使用文本编辑软件查看本质上还是二进制文件二进制
- 这篇文章主要介绍了Python定义函数时参数有默认值问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 字面意思上的区别Attribute与property, 都可翻译成属性. 虽然无论是在中文中还是英文中 它们的意思都几乎一样, 但仍有些许差
- 添加事件禁止选择、拖拽、右键(简单的禁止用户保存图片,但无法阻止用户打开控制台查看,或是直接抓包)将之转换为 canvas(让浏览器认为不是