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 相关文章推荐
用htc组件制作windows选项卡
Jan 13 Javascript
javascript 词法作用域和闭包分析说明
Aug 12 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
Mar 07 Javascript
jQuery的初始化与对象构建之浅析
Apr 12 Javascript
jquery带翻页动画的电子杂志代码分享
Aug 21 Javascript
Javascript 调用 ActionScript 的简单方法
Sep 22 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
May 08 Javascript
详解angularjs的数组传参方式的简单实现
Jul 28 Javascript
vue-baidu-map 进入页面自动定位的解决方案(推荐)
Apr 28 Javascript
javascript实现的字符串转换成数组操作示例
Jun 13 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
Sep 16 Javascript
Javascript查看大图功能代码实现
May 07 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个人网站架设连环讲(四)
2006/10/09 PHP
简单介绍PHP的责任链编程模式
2015/08/11 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
使用onbeforeunload属性后的副作用
2007/03/08 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
2013/10/28 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
2015/11/30 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
原生js实现可拖拽效果
2017/02/28 Javascript
AngularJS中使用ngModal模态框实例
2017/05/27 Javascript
JavaScript的setter与getter方法
2017/11/29 Javascript
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
layerUI下的绑定事件实例代码
2018/08/17 Javascript
python通过pil模块将raw图片转换成png图片的方法
2015/03/16 Python
python创建和删除目录的方法
2015/04/29 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
Python中修改字符串的四种方法
2018/11/02 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
Pandas读取并修改excel的示例代码
2019/02/17 Python
基于python 等频分箱qcut问题的解决
2020/03/03 Python
纯CSS绘制漂亮的圆形图案效果
2014/05/07 HTML / CSS
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
京东奢侈品:全球奢侈品牌
2018/03/17 全球购物
Ryderwear澳洲官网:澳大利亚高端健身训练装备品牌
2018/09/18 全球购物
创业计划书的主要内容有哪些
2014/01/29 职场文书
旅游局领导班子“四风”问题对照检查材料思想汇报
2014/09/29 职场文书
2014年房产经纪人工作总结
2014/12/08 职场文书
党员争先创优承诺书
2015/01/20 职场文书
2015年酒店服务员工作总结
2015/05/18 职场文书
卡特教练观后感
2015/06/08 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
MySQL注入基础练习
2021/05/30 MySQL
python 安全地删除列表元素的方法
2022/03/16 Python