JS实现点击上移下移LI行数据的方法


Posted in Javascript onAugust 05, 2015

本文实例讲述了JS实现点击上移下移LI行数据的方法。分享给大家供大家参考。具体如下:

这里演示JavaScript排序功能,点击按钮实现数据的上移和下称,一共有两组测试效果,上组采用箭头图标控制的方式,更美观,下组是直接使用文字,根据你的需要自行选择。myList为ul的id值,m为0显示文字,m为1显示图片,mO、mT为文字或图片内容。

演示效果如下图所示:

JS实现点击上移下移LI行数据的方法

具体代码如下:

<!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 content="text/html; charset=UTF-8" http-equiv="Content-Type">
<title>JS移动li行数据,点击上移下移</title>
<style type="text/css">
 * {
  padding:0;
  margin:0;
 }
 .content {width:500px;margin:20px auto;}
 #pCon {width:500px;list-style:none;}
 #pCon li {height:20px;display:block;border-bottom:1px #ccc solid;}
 #pCon li a{margin-left:5px;text-decoration:none;}
 #pCon li a:hover{cursor:hand;}
 .context {float:left;display:inline;}
 .control {float:right;display:inline;}
 .control img {width:50px;height:12px;overflow:hidden;float:left;display:inline;}
 hr {margin:30px auto;}
 #pCon1 {width:500px;list-style:none;}
 #pCon1 li {height:20px;display:block;border-bottom:1px #ccc solid;}
 #pCon1 li a{margin-left:5px;text-decoration:none;}
 #pCon1 li a:hover{cursor:hand;}
</style>
</head>
<body>
<div class="content">
<ul id="pCon">
<li><div class="context">点击右侧箭头上移下移A</div></li>
<li><div class="context">点击右侧箭头上移下移B</div></li>
<li><div class="context">点击右侧箭头上移下移C</div></li></ul>
<hr/>
<ul id="pCon1">
<li><div class="context">测试数据你相信么A</div></li>
<li><div class="context">测试数据你相信么B</div></li>
<li><div class="context">测试数据你相信么C</div></li>
</ul>
</div>
<script>
function moveSonU(tag,pc){
 var tagPre=get_previoussibling(tag);
 var t=document.getElementById(pc);
 if(tagPre!=undefined){
  t.insertBefore(tag,tagPre);
 }
}
function moveSonD(tag){
 var tagNext=get_nextsibling(tag);
 if(tagNext!=undefined){
  insertAfter(tag,tagNext);
 }
}
function get_previoussibling(n){
 if(n.previousSibling!=null){
  var x=n.previousSibling;
  while (x.nodeType!=1)
  {
   x=x.previousSibling;
  }
  return x;
 }
}
function get_nextsibling(n){
 if(n.nextSibling!=null){
  var x=n.nextSibling;
  while (x.nodeType!=1)
  {
   x=x.nextSibling;
  }
  return x;
 }
}
function insertAfter(newElement,targetElement){
 var parent=targetElement.parentNode;
 if(parent.lastChild==targetElement){
  parent.appendChild(newElement);
 }else{
  parent.insertBefore(newElement,targetElement.nextSibling);
 }
}
function myOrder(myList,m,mO,mT){
//myList为ul的id值,m为0显示文字,m为1显示图片,mO、mT为文字或图片内容
 var pCon=document.getElementById(myList);
 var pSon=pCon.getElementsByTagName("li");
 for(i=0;i<pSon.length;i++){
  var conTemp=document.createElement("div");
  conTemp.setAttribute("class","control");
  var clickUp=document.createElement("a");
  var clickDown=document.createElement("a");
  if(m==0){
  var upCon=document.createTextNode(mO);
  var downCon=document.createTextNode(mT);
  }else{
  var upCon=document.createElement("img");
  var downCon=document.createElement("img");
  upCon.setAttribute("src",mO);
  downCon.setAttribute("src",mT);
  }
  clickUp.appendChild(upCon);
  clickUp.setAttribute("href","#");
  clickDown.appendChild(downCon);
  clickDown.setAttribute("href","#");
  pSon[i].appendChild(conTemp);
  conTemp.appendChild(clickUp);
  conTemp.appendChild(clickDown);
  clickUp.onclick=function(){
   moveSonU(this.parentNode.parentNode,myList);
  }
  clickDown.onclick=function(){
   moveSonD(this.parentNode.parentNode);
  }
 }
}
myOrder("pCon",1,"//img.jbzj.com/file_images/article/201508/201585153341254.png?201575153424","//img.jbzj.com/file_images/article/201508/201585153353977.png?20157515349");
myOrder("pCon1",0,"上移","下移");
</script>
</body>
</html>

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

Javascript 相关文章推荐
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
Aug 31 Javascript
js获取提交的字符串的字节数
Feb 09 Javascript
jquery 表格分页等操作实现代码(pagedown,pageup)
Apr 11 Javascript
Javascript读取cookie函数代码
Oct 16 Javascript
jQuery EasyUI API 中文文档 - ComboTree组合树
Oct 11 Javascript
node.js中的fs.lchmodSync方法使用说明
Dec 16 Javascript
jquery ezUI 双击行记录弹窗查看明细的实现方法
Jun 01 Javascript
JavaScript中递归实现的方法及其区别
Sep 12 Javascript
vue-cli + sass 的正确打开方式图文详解
Oct 27 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
May 25 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
Aug 24 Javascript
详解vue-router数据加载与缓存使用总结
Oct 29 Javascript
将页面table内容与样式另存成excel文件的方法
Aug 05 #Javascript
JS模拟键盘打字效果的方法
Aug 05 #Javascript
js点击列表文字对应该行显示背景颜色的实现代码
Aug 05 #Javascript
JS使用parseInt解析数字实现求和的方法
Aug 05 #Javascript
js绘制圆形和矩形的方法
Aug 05 #Javascript
JavaScript实现自动消除按钮功能的方法
Aug 05 #Javascript
JS版元素周期表实现方法
Aug 05 #Javascript
You might like
fleaphp rolesNameField bug解决方法
2011/04/23 PHP
PHP数组循环操作详细介绍 附实例代码
2013/02/03 PHP
PHP数据库链接类(PDO+Access)实例分享
2013/12/05 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
PHP自定义多进制的方法
2016/11/03 PHP
laravel 执行迁移回滚示例
2019/10/23 PHP
php实现快速对二维数组某一列进行组装的方法小结
2019/12/04 PHP
csdn 论坛技术区平均给分功能
2009/11/07 Javascript
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
JavaScript打开word文档的实现代码(c#)
2012/04/16 Javascript
JavaScript 盒模型 尺寸深入理解
2012/12/31 Javascript
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
jQuery Checkbox 全选 反选的简单实例
2016/11/29 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
[52:09]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第二场
2014/05/26 DOTA
[01:33:07]VGJ.T vs Newbee Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
在Python的Django框架中编写错误提示页面
2015/07/22 Python
Python操作json的方法实例分析
2018/12/06 Python
python 修改本地网络配置的方法
2019/08/14 Python
python config文件的读写操作示例
2019/09/27 Python
python3利用Axes3D库画3D模型图
2020/03/25 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
可打印的优惠券、杂货和优惠券代码:Coupons.com
2018/06/12 全球购物
捷科时代的软件测试笔试题
2015/11/09 面试题
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
七年级生物教学反思
2014/01/30 职场文书
幼儿园元旦亲子活动方案
2014/02/17 职场文书
团队拓展活动总结
2014/08/27 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
2014年建筑工作总结
2014/11/26 职场文书
MongoDB使用场景总结
2022/02/24 MongoDB