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,水平有待提高
Jan 31 Javascript
jQuery中has()方法用法实例
Jan 06 Javascript
js鼠标点击图片切换效果实现代码
Nov 19 Javascript
客户端验证用户名和密码的方法详解
Jun 16 Javascript
javascript 四十条常用技巧大全
Sep 09 Javascript
Bootstrap轮播图学习使用
Feb 10 Javascript
10行原生JS实现文字无缝滚动(超简单)
Jan 02 Javascript
JS实现简单的星期格式转换功能示例
Jul 23 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
Sep 18 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
Nov 22 Javascript
使用异步组件优化Vue应用程序的性能
Apr 28 Javascript
Element Breadcrumb 面包屑的使用方法
Jul 26 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
一个程序下载的管理程序(三)
2006/10/09 PHP
浅析php面向对象public private protected 访问修饰符
2013/06/30 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
如何使用php实现评委评分器
2015/07/31 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
js unicode 编码解析关于数据转换为中文的两种方法
2014/04/21 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
浅谈原型对象的常用开发模式
2017/07/22 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
Python内置的字符串处理函数整理
2013/01/29 Python
Python常见数据结构详解
2014/07/24 Python
Python中的匿名函数使用简介
2015/04/27 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
2017/05/24 Python
Python 查看list中是否含有某元素的方法
2018/06/27 Python
matplotlib.pyplot绘图显示控制方法
2019/01/15 Python
python 进制转换 int、bin、oct、hex的原理
2021/01/13 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
html5+css3之动画在webapp中的应用
2014/11/21 HTML / CSS
英国香水店:The Perfume Shop
2017/03/27 全球购物
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
中国梦的演讲稿
2014/01/08 职场文书
中专自我鉴定
2014/02/05 职场文书
铁路工务反思材料
2014/02/07 职场文书
商场消防演习方案
2014/02/12 职场文书
期终自我鉴定
2014/02/17 职场文书
《老王》教学反思
2014/02/23 职场文书
简单的项目建议书模板
2014/03/12 职场文书
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
《百分数的认识》教学反思
2016/02/19 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers