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 相关文章推荐
JavaScript 指导方针
Apr 05 Javascript
javascript模拟post提交隐藏地址栏的参数
Sep 03 Javascript
下拉框select的绑定示例
Sep 04 Javascript
JavaScript中具名函数的多种调用方式总结
Nov 08 Javascript
JavaScript里四舍五入函数round用法实例
Apr 06 Javascript
JavaScript实现简单的二级导航菜单实例
Apr 15 Javascript
Jquery 分页插件之Jquery Pagination
Aug 25 Javascript
面试常见的js算法题
Mar 23 Javascript
xmlplus组件设计系列之按钮(2)
Apr 26 Javascript
详解微信小程序设置底部导航栏目方法
Jun 29 Javascript
通过封装scroll.js 获取滚动条的值
Jul 13 Javascript
Angular angular-file-upload文件上传的示例代码
Aug 23 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
php中变量及部分适用方法
2008/03/27 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
一组PHP加密解密函数分享
2014/06/05 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
PHP基于递归实现的约瑟夫环算法示例
2017/08/27 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
用Jquery实现滚动新闻
2014/02/12 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
2014/05/20 Javascript
超级好用的jQuery圆角插件 Corner速成
2014/08/31 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
Vue.js学习笔记之常用模板语法详解
2017/07/25 Javascript
js 发布订阅模式的实例讲解
2017/09/10 Javascript
js中自定义react数据验证组件实例详解
2018/10/19 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
Swiper.js实现移动端元素左右滑动
2019/09/08 Javascript
React中使用Vditor自定义图片详解
2020/12/25 Javascript
[05:10]2014DOTA2国际邀请赛 通往胜利之匙赛场探秘之旅
2014/07/18 DOTA
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
python脚本设置超时机制系统时间的方法
2016/02/21 Python
python 数据的清理行为实例详解
2017/07/12 Python
Python常见工厂函数用法示例
2018/03/21 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
python如何把字符串类型list转换成list
2020/02/18 Python
Python用类实现扑克牌发牌的示例代码
2020/06/01 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
CSS3中伪元素::before和::after的用法示例
2017/09/18 HTML / CSS
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
巴西最大的巴士票务门户:Quero Passagem
2020/11/21 全球购物
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android
SQL SERVER实现连接与合并查询
2022/02/24 SQL Server
动画《平凡职业成就世界最强》宣布制作OVA
2022/04/01 日漫