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 相关文章推荐
兼容IE和FF的js脚本代码小结(比较常用)
Dec 06 Javascript
jquery click([data],fn)使用方法实例介绍
Jul 08 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
Apr 06 Javascript
JavaScript中判断数据类型的方法总结
May 24 Javascript
Bootstrap基本组件学习笔记之进度条(15)
Dec 08 Javascript
js实现移动端轮播图效果
Dec 09 Javascript
Vue 全局loading组件实例详解
May 29 Javascript
js+SVG实现动态时钟效果
Jul 14 Javascript
layui结合form,table的全选、反选v1.0示例讲解
Aug 15 Javascript
layer弹出层父子页面事件相互调用方法
Aug 17 Javascript
js实现翻牌小游戏
Jul 31 Javascript
vue使用lodop打印控件实现浏览器兼容打印的方法
Feb 07 Vue.js
将页面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
全国FM电台频率大全 - 4 山西省
2020/03/11 无线电
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
用PHP+MySQL搭建聊天室功能实例代码
2012/08/20 PHP
php之readdir函数用法实例
2014/11/13 PHP
php单态设计模式(单例模式)实例
2014/11/18 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
php获取POST数据的三种方法实例详解
2016/12/20 PHP
Yii1.1中通过Sql查询进行的分页操作方法
2017/03/16 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
[原创]图片分页查看
2006/08/28 Javascript
javascript hashtable实现代码
2009/10/13 Javascript
Jquery实现Div上下移动示例
2014/04/23 Javascript
jQuery实现的多选框多级联动插件
2014/05/02 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
2015/02/25 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
js数组操作方法总结(必看篇)
2016/11/22 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
2017/03/09 Javascript
javascript完美实现给定日期返回上月日期的方法
2017/06/15 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
浅谈Node框架接入ELK实践总结
2019/02/22 Javascript
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
vue登录注册实例详解
2019/09/14 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
解析Python编程中的包结构
2015/10/25 Python
私人会所最新创业计划书范文
2014/03/24 职场文书
学校安全责任书
2014/04/14 职场文书
大学迎新生标语
2014/10/06 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
房屋维修申请报告
2015/05/18 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书
python基于机器学习预测股票交易信号
2021/05/25 Python
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python