html部分

<div id="chenkbox">
<div id="tableSort">
<ol>
<li> 序列 </li>
<li> 名称 </li>
<li> 数量 </li>
<li> 单价(Q点) </li>
<li> 总计(Q点) </li>
</ol>
<ul>
<li>1</li>
<li>农场话费A</li>
<li>2</li>
<li>50</li>
<li>100</li>
</ul>
<ul>
<li>2</li>
<li>飞车道具C</li>
<li>1</li>
<li>80</li>
<li>80</li>
</ul>
<ul>
<li>3</li>
<li>空间K</li>
<li>1</li>
<li>120</li>
<li>120</li>
</ul>
<ul>
<li>4</li>
<li>农场狗粮C</li>
<li>4</li>
<li>60</li>
<li>240</li>
</ul>
<ul>
<li>5</li>
<li>音速种子</li>
<li>2</li>
<li>110</li>
<li>220</li>
</ul>
<ul>
<li>6</li>
<li>农场化肥D</li>
<li>5</li>
<li>60</li>
<li>300</li>
</ul>
<ul>
<li>7</li>
<li>AVA装扮C</li>
<li>1</li>
<li>300</li>
<li>300</li>
</ul>
<ul>
<li>8</li>
<li>三国道具C</li>
<li>15</li>
<li>60</li>
<li>900</li>
</ul>
<ul>
<li>9</li>
<li>DNF道具B</li>
<li>4</li>
<li>300</li>
<li>1200</li>
</ul>
<ul>
<li>10</li>
<li>农场化肥H</li>
<li>6</li>
<li>80</li>
<li>120</li>
</ul>
<ul>
<li>11</li>
<li>农场化肥B</li>
<li>1</li>
<li>80</li>
<li>80</li>
</ul>
<ul>
<li>12</li>
<li>Q宠元宝</li>
<li>100</li>
<li>1</li>
<li>100</li>
</ul>
<ul>
<li>13</li>
<li>三国道具K</li>
<li>9</li>
<li>20</li>
<li>180</li>
</ul> <div id="box"></div>
</div>
</div>

css部分

* {
margin:;
padding:;
}
body {
font-family: "microsoft yahei";
background-color: #eee;
user-select: none;
}
#chenkbox {
margin: 100px auto;
width: 800px;
position: relative; }
#tableSort{
border-right:#0066cc 1px solid;
border-bottom: #0066cc 1px solid;
height: 434px;
} li{
list-style: none;
}
#box {
position: absolute;
display: none;
background: #fff;
text-align: center;
top:;
background-color: #000;
background-color: rgba(0,0,0,0.8);
color: #fff;
height: 100%;
cursor: move;
}
#box p {
line-height:;
}
#chenkbox ol{
height: 30px;
line-height: 30px;
}
#chenkbox ul{
width: 100%;
height: 30px;
cursor: move;
line-height: 30px; }
#chenkbox li{
width: 19.87%;
float: left; border-top: #0066cc 1px solid;
border-left: #0066cc 1px solid;
text-align: center; }

js部分

var ochek=document.getElementById("chenkbox");
var ul=document.getElementsByTagName('ul');
var box=document.getElementById("box");
var arr=[];
for(var i=0;i<ul.length;i++){
ul[i].onmousedown=function(){
var e=e||window.event;
var w=this.offsetWidth;
var h=this.offsetHeight;
var t=ochek.offsetTop;
var st=this.offsetTop;
var ss=this.innerHTML;
_this=this;//鼠标按下时的ul
box.innerHTML=ss;
box.style.display="block";
box.style.width=w+"px";
box.style.height=h+"px";
box.style.top=st+"px";
for(var j=0;j<ul.length;j++){
arr.push(ul[j].offsetTop);//所有行的top值
}
document.onmousemove=function(e){
var e=e||window.event;
box.style.top=e.clientY-t+"px"; //移动时的top值
}
document.onmouseup=function(e){
var e=e||window.event;
var index='';
for(var j=0;j<arr.length;j++){
if(arr[j]<e.clientY-t){//得到当移动的top值大于ul的top值时的i
index=j;
}
}
_this.innerHTML=ul[index].innerHTML;//鼠标按下时的ul的innerHTML等于移动到的ul的innerHTML
ul[index].innerHTML= box.innerHTML;//移动到的ul的innerHTML等于box中的innerHTML
arr.splice(0,arr.length);//清空数组
box.style.display="none";
box.innerHTML='';
ul[i].onmousedown=null;
document.onmousemove=null; }
}
}

js表格拖拽的更多相关文章

  1. js 实现table表格拖拽和点击表头升降序排序

    js 实现table表格拖拽和点击表头升降序排序,写的比较乱,用的时候可以把其中的一些模块函数提取出来 样式,由于是可拖拽表格,所以样式 table tr th{cursor:move;} js实现 ...

  2. react拖拽(表格拖拽排序、普通拖拽排序以及树形拖拽排序)

    表格拖拽排序:组件地址:https://reactabular.js.org/#/drag-and-drop 拖动的排序是用React-DnD:React-DnD:http://react-dnd.g ...

  3. 实现Bootstrap表格拖拽

    实现Bootstrap表格拖拽: 需要引入jquery.min.js.bootstrap相关文件,以及jquery.dragsort-0.5.2.js 代码如下: <html> <h ...

  4. Js元素拖拽功能实现

    Js元素拖拽功能实现 需要解决的问题 最近项目遇到了一个问题,就是用户某个操作需要弹出一个自定义的内容输入框,但是有个缺点,当浏览太大的时候没办法点击确认和取消按钮,应为这个弹出框是采用绝对定位的,取 ...

  5. js之拖拽事件

    js之拖拽事件 api:https://www.runoob.com/jsref/event-ondrag.html 拖拽事件是js原生的事件,使用时在div上添加 draggable="t ...

  6. 根据HTML5的新方法 drag & drop 方法实现表格拖拽实例

    上一次学习了html5的drag和drop方法,传送门  就自己写了个例子加深自己对drag和drop的理解.不过一开始不是很简单,遇到了不少问题.还好网络万能的,什么都能查到,总算完成了. 说明和详 ...

  7. JS—实现拖拽

    JS中的拖拽示例:    1)实现拖拽思路:当鼠标按下和拖拽过程中,鼠标与拖拽物体之间的相对距离保持不变    2)实现拖拽遇到的问题:        问题1:当鼠标按下移动过快时,离开了拖拽的物体时 ...

  8. js鼠标拖拽

    html <div id="box"> </div> css ;;} #box{width:200px;height:200px;background:cy ...

  9. 原生Js实现拖拽(适用于pc和移动端)

    效果: HTML和CSS部分 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

随机推荐

  1. mysql不创建表 <property name="hbm2ddl.auto">update</property> 无效

    netbeans win10 mysql8 hibernate 4.3.11 dakai mysql的general_log发现并没有创建表的语句 未完待续 今天又遇到不创建表的问题 但是问题比较奇怪 ...

  2. C# 无边框窗体移动和改变大小的实现

    自己给软件做的皮肤,将窗体设为无边框后,想要其具有正常窗体的移动和改变大小功能,以下代 码可以实现.... //需添加using System.Runtime.InteropServices; [Dl ...

  3. KOA 学习(六)superAgent

    原文地址 http://www.2cto.com/kf/201611/569080.html 基本请求 初始化一个请求可以通过调用request模块中适当的方法,然后使用.end()来发送请求,例如一 ...

  4. uva11401:Triangle Counting 递推 数学

    uva11401:Triangle Counting 题目读不清楚的下场就是多做两个小时...从1-n中任选3个不重复数字(不重复啊!!坑爹啊!)问能组成三角形的有多少个, 显然1~n能组成的三角形集 ...

  5. centos7.6 安装jdk1.8

    1. 下载 jdk-8u211-linux-x64.tar.gz文件. 2. 创建/opt/soft目录,# cd /opt, # mkdir soft, #tar -zxvf  jdk-8u211- ...

  6. copyTo和clone的区别/制作mask的fillpoly函数(有问题)

    OpenCV中mat::copyto( )函数使用方法 OpenCV的fillPoly函数 使用OpenCV库进行图像处理时,经常会用到clone和copyTo函数,这里对两个函数进行介绍. copy ...

  7. TZ_06_SpringMVC_常用注解

    1. @Controller@RequestMapping(path = "/user")//一级目录 public class FormSubmit { @RequestMapp ...

  8. ssh 连接vps

    默认端口22 ssh root@194.10.10.10 特定端口xxx 上面命令后面加上 "-p xxx" 就可以了

  9. POJ1151 离散化求矩形面积的并

    /*第一道离散化的题目,虽然是水题,不过还是很高兴...*/ #include<cstdio> #include<algorithm> #include<cstring& ...

  10. Eclipse安装Spket插件

    Eclipse安装Spket插件 1.在线安装,地址:Spket - http://www.agpad.com/update 2.下载插件包安装, 地址:http://www.spket.com/