首页 > 编程 > JavaScript > 正文

JS实现的表格行上下移动操作示例

2019-11-20 09:18:58
字体:
来源:转载
供稿:网友

本文实例讲述了JS实现表格行上下移动操作的方法。分享给大家供大家参考,具体如下:

<!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=gb2312" /><title>表格行移动</title></head><body><table width="200" border="1">  <tbody>    <tr>      <td width="25%">1</td>      <td width="25%">11</td>      <td width="25%"><a href="javascript:void(0)" onclick="moveUp(this)">上移</a></td>      <td width="25%"><a href="javascript:void(0)" onclick="moveDown(this)">下移</a></td>    </tr>    <tr>      <td>2</td>      <td>22</td>      <td><a href="javascript:void(0)" onclick="moveUp(this)">上移</a></td>      <td><a href="javascript:void(0)" onclick="moveDown(this)">下移</a></td>    </tr>    <tr>      <td>3</td>      <td>33</td>      <td><a href="javascript:void(0)" onclick="moveUp(this)">上移</a></td>      <td><a href="javascript:void(0)" onclick="moveDown(this)">下移</a></td>    </tr>    <tr>      <td>4</td>      <td>44</td>      <td><a href="javascript:void(0)" onclick="moveUp(this)">上移</a></td>      <td><a href="javascript:void(0)" onclick="moveDown(this)">下移</a></td>    </tr>    <tr>      <td>5</td>      <td>55</td>      <td><a href="javascript:void(0)" onclick="moveUp(this)">上移</a></td>      <td><a href="javascript:void(0)" onclick="moveDown(this)">下移</a></td>    </tr>  </tbody></table><script type="text/javascript"><!--function moveUp(_a){  var _row = _a.parentNode.parentNode;  //如果不是第一行,则与上一行交换顺序  var _node = _row.previousSibling;  while(_node && _node.nodeType != 1){    _node = _node.previousSibling;  }  if(_node){    swapNode(_row,_node);  }}function moveDown(_a){  var _row = _a.parentNode.parentNode;  //如果不是最后一行,则与下一行交换顺序  var _node = _row.nextSibling;  while(_node && _node.nodeType != 1){    _node = _node.nextSibling;  }  if(_node){    swapNode(_row,_node);  }}function swapNode(node1,node2){  //获取父结点  var _parent = node1.parentNode;  //获取两个结点的相对位置  var _t1 = node1.nextSibling;  var _t2 = node2.nextSibling;  //将node2插入到原来node1的位置  if(_t1)_parent.insertBefore(node2,_t1);  else _parent.appendChild(node2);  //将node1插入到原来node2的位置  if(_t2)_parent.insertBefore(node1,_t2);  else _parent.appendChild(node1);}//--></script></body></html>

运行效果截图如下:

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表