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 相关文章推荐
关于文本限制字数的js代码
Apr 02 Javascript
再谈ie和firefox下的document.all属性
Oct 21 Javascript
深入解析JavaScript中的变量作用域
Dec 06 Javascript
Javascript基础_标记文字的实现方法
Jun 14 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
Oct 31 Javascript
javascript实现鼠标点击页面 移动DIV
Dec 02 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
Jul 17 Javascript
Koa2 之文件上传下载的示例代码
Mar 29 Javascript
基于layPage插件实现两种分页方式浅析
Jul 27 Javascript
VUE前后端学习tab写法实例
Aug 06 Javascript
js实现经典贪吃蛇小游戏
Mar 19 Javascript
jQuery实现异步上传一个或多个文件
Aug 17 jQuery
将页面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
PHP 中的批处理的实现
2007/06/14 PHP
并发下常见的加锁及锁的PHP具体实现代码
2010/10/12 PHP
如何用php获取文件名后缀
2013/06/09 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
PHP加密解密类实例分析
2015/04/20 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
laravel 出现command not found问题的解决方案
2019/10/23 PHP
javascript脚本调试方法小结
2008/11/24 Javascript
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
javascript学习笔记(十九) 节点的操作实现代码
2012/06/20 Javascript
js获取微信版本号的方法
2015/05/12 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
2015/11/03 Javascript
easyui validatebox验证
2016/04/29 Javascript
详解Vue中添加过渡效果
2017/03/20 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
原生JS+Canvas实现五子棋游戏
2020/05/28 Javascript
jQuery实现的弹幕效果完整实例
2017/09/06 jQuery
Vue+elementui 实现复杂表头和动态增加列的二维表格功能
2019/09/23 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
2020/06/07 Javascript
python计算两个矩形框重合百分比的实例
2018/11/07 Python
python应用文件读取与登录注册功能
2019/09/23 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
2019/10/24 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
Python二元算术运算常用方法解析
2020/09/15 Python
python 带时区的日期格式化操作
2020/10/23 Python
北美个性化礼品商店:Things Remembered
2018/06/12 全球购物
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
工作会议欢迎词
2014/01/16 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书
交警正风肃纪剖析材料
2014/10/29 职场文书
培训后的感想
2015/08/07 职场文书
基于Python实现西西成语接龙小助手
2022/08/05 Golang