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编程起步(第二课)
Jan 10 Javascript
jQuery生成asp.net服务器控件的代码
Feb 04 Javascript
一个JS函数搞定网页标题(title)闪动效果
May 13 Javascript
jQuery子属性过滤选择器用法分析
Feb 10 Javascript
js实现文字垂直滚动和鼠标悬停效果
Dec 31 Javascript
Javascript打印局部页面实例
Jun 21 Javascript
JS实现touch 点击滑动轮播实例代码
Jan 19 Javascript
webpack下实现动态引入文件方法
Feb 22 Javascript
全站最详细的Vuex教程
Apr 13 Javascript
angular2实现统一的http请求头方法
Aug 13 Javascript
JS实现判断数组是否包含某个元素示例
May 24 Javascript
浅谈vue在html中出现{{}}的原因及解决方式
Nov 16 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 FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
单台服务器的PHP进程之间实现共享内存的方法
2014/06/13 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
2017/02/10 PHP
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
精心挑选的15个jQuery下拉菜单制作教程
2012/06/15 Javascript
JS小游戏之宇宙战机源码详解
2014/09/25 Javascript
微信jssdk用法汇总
2016/07/16 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
2016/12/02 Javascript
移动端触屏幻灯片图片切换插件idangerous swiper.js
2017/04/10 Javascript
浅谈Angular单元测试总结
2019/03/22 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
2019/09/06 Javascript
如何利用node转发请求详解
2020/09/17 Javascript
JavaScript实现随机点名小程序
2020/10/29 Javascript
在Python中进行自动化单元测试的教程
2015/04/15 Python
理解Python中的With语句
2016/03/18 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
基于python socketserver框架全面解析
2017/09/21 Python
python生成器推导式用法简单示例
2019/10/08 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
Python数据可视化实现漏斗图过程图解
2020/07/20 Python
python中的测试框架
2020/11/13 Python
英国大码女性时装零售商:Evans
2018/08/29 全球购物
Bonami斯洛伐克:购买家具和家居饰品
2019/07/02 全球购物
编写类String 的构造函数、析构函数和赋值函数
2012/09/09 面试题
数据库基础的一些面试题
2012/02/25 面试题
远程调用的原理
2014/07/05 面试题
仓库保管员岗位职责
2013/12/20 职场文书
《一个小村庄的故事》教学反思
2014/04/13 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android
上个世纪50年代的可穿戴技术:无线电帽子
2022/02/18 无线电
如何利用React实现图片识别App
2022/02/18 Javascript
AudioContext 实现音频可视化(web技术分享)
2022/02/24 Javascript