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. MyBatis配置文件(一)――properties属性

    MyBatis配置文件中有很多配置项,这些配置项分别代表什么,有什么作用,需要理一下了.先通过下面这个例子来看都有哪些配置项 <?xml version="1.0" enco ...

  2. RxJS 入门指引和初步应用

    作者:徐飞链接:https://zhuanlan.zhihu.com/p/25383159来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. RxJS是一个强大的React ...

  3. PAT甲级——A1013 Battle Over Cities

    It is vitally important to have all the cities connected by highways in a war. If a city is occupied ...

  4. javascript date utc

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/huangbin10025/article/details/37503465 近期在使用highsto ...

  5. 设置eclipse自动补全

    点击" Window>Preferences"; 选择"Java>Editor>Content Assist",在右侧的"Auto- ...

  6. 一个网页登陆界面写30多个测试Case——测试之道

    转自博文:http://www.cnblogs.com/I-am-Betty/p/3566411.html 具体需求: 有一个登陆页面, (假如上面有2个textbox, 一个提交按钮. 请针对这个页 ...

  7. Eclipse:Eclipse插件开发全套教程

    分享是美德,作者为Eclipse核心工程师之一,全英文版,有不明白的地方欢迎探讨和咨询. http://www.vogella.com/tutorials/eclipse.html

  8. NPM:如何配置maven npm私服

    https://help.sonatype.com/repomanager3/quick-start-guide-proxying-maven-and-npm#QuickStartGuide-Prox ...

  9. bzoj 1800 [Ahoi2009]fly 飞行棋——模拟

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1800 原来只想到一个弧是一条边. 然后发现不是.差点不会做.经Zinn提醒,不用枚举那条边由 ...

  10. js图片碎片效果(移动端也适用)

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...