js表格拖拽
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表格拖拽的更多相关文章
- js 实现table表格拖拽和点击表头升降序排序
js 实现table表格拖拽和点击表头升降序排序,写的比较乱,用的时候可以把其中的一些模块函数提取出来 样式,由于是可拖拽表格,所以样式 table tr th{cursor:move;} js实现 ...
- react拖拽(表格拖拽排序、普通拖拽排序以及树形拖拽排序)
表格拖拽排序:组件地址:https://reactabular.js.org/#/drag-and-drop 拖动的排序是用React-DnD:React-DnD:http://react-dnd.g ...
- 实现Bootstrap表格拖拽
实现Bootstrap表格拖拽: 需要引入jquery.min.js.bootstrap相关文件,以及jquery.dragsort-0.5.2.js 代码如下: <html> <h ...
- Js元素拖拽功能实现
Js元素拖拽功能实现 需要解决的问题 最近项目遇到了一个问题,就是用户某个操作需要弹出一个自定义的内容输入框,但是有个缺点,当浏览太大的时候没办法点击确认和取消按钮,应为这个弹出框是采用绝对定位的,取 ...
- js之拖拽事件
js之拖拽事件 api:https://www.runoob.com/jsref/event-ondrag.html 拖拽事件是js原生的事件,使用时在div上添加 draggable="t ...
- 根据HTML5的新方法 drag & drop 方法实现表格拖拽实例
上一次学习了html5的drag和drop方法,传送门 就自己写了个例子加深自己对drag和drop的理解.不过一开始不是很简单,遇到了不少问题.还好网络万能的,什么都能查到,总算完成了. 说明和详 ...
- JS—实现拖拽
JS中的拖拽示例: 1)实现拖拽思路:当鼠标按下和拖拽过程中,鼠标与拖拽物体之间的相对距离保持不变 2)实现拖拽遇到的问题: 问题1:当鼠标按下移动过快时,离开了拖拽的物体时 ...
- js鼠标拖拽
html <div id="box"> </div> css ;;} #box{width:200px;height:200px;background:cy ...
- 原生Js实现拖拽(适用于pc和移动端)
效果: HTML和CSS部分 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
随机推荐
- c语言一个例子对比php学习随记
今天开始学写一些简单的C例子,发现很多和PHP不一样的地方,做个笔记. #include <stdio.h> int main(void) { int a,b; printf(" ...
- Scrapy框架Crawler模板爬虫
1.创建一个CrawlerSpider scrapy genspider -t crawl wx_spider 'wxapp-union.com' #导入规则 from scrapy.spiders ...
- DES、RSA、MD5、SHA、随机生成加密与解密
一.数据加密/编码算法列表 常见用于保证安全的加密或编码算法如下: 1.常用密钥算法 密钥算法用来对敏感数据.摘要.签名等信息进行加密,常用的密钥算法包括: DES(Data Encr ...
- mapreduce join操作
上次和朋友讨论到mapreduce,join应该发生在map端,理由太想当然到sql里面的执行过程了 wheremap端 join在map之前(笛卡尔积),但实际上网上看了,mapreduce的笛卡尔 ...
- np.random.choice的用法
np.random.choice的用法 2018年01月15日 10:18:23 qfpkzheng 阅读数:6306 标签: 自己学习 更多 个人分类: 总结 import numpy as n ...
- 【vue】openshopping-vue
这是一个基于Vue实现开箱即用H5移动端商城的单页应用 作者的开源地址是:https://github.com/yrinleung/openshopping-vue 我们一起来欣赏页面吧 看看代码有什 ...
- [Array]448. Find All Numbers Disappeared in an Array
Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and ot ...
- TZ_11_Spring-Boot的属性注入方式(jdbc为例)
1.以上一篇文档为基础 2.创建jdbc外部属性文件 application.properties此名字为默认文件名在使用是不需要使用 @Propertysource("classpath: ...
- linux系统之间互传文件
参考网址:http://blog.csdn.net/shaoxiaohu1/article/details/23191637 1.文件复制:本机->远程服务器: scp /home/shaoxi ...
- MySQL:比较两个数据表不同部分
简单比较 1.SELECT * FROM t2 WHERE id NOT IN (SELECT id FROM t1); 2.SELECT * FROM t2 WHERE NOT EXISTS(SEL ...