怎样用JS实现表格拖动选择的功能?
Admin 2021-09-08 群英技术资讯 639 次浏览
今天给大家分享的是关于用JS实现表格拖动选择的内容,本文有实例和详细注释供大家参考,对大家学习JavaScript有一定的帮助,有需要的朋友可以参考,接下来跟随小编一起看看吧。
题目要求如下图所示,具体思路:拖动改变选择项,用的的事件是js的拖动相关事件。
代码:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> *{ margin: 0; padding: 0; } ul,li{ list-style: none; cursor: pointer; } .specWrap{ width: 800px; margin: 0 auto; user-select: none; } .specification{ border: 1px solid #ccc; width: 100%; position: relative; } .sp-top{ height: 60px; line-height: 60px; text-align: center; box-sizing: border-box; } .sp-top ul{ overflow: hidden; } .sp-top ul li{ width: 33%; float: left } .sp-top ul li:nth-of-type(2){ border-left: 1px solid #ccc; border-right: 1px solid #ccc; } .sp-cen{ text-align: left; box-sizing: border-box; border-bottom: 1px solid #ccc; border-top: 1px solid #ccc; text-indent: 20px; overflow: hidden; } .screen{ width: 33%; float: left; } .screen:nth-of-type(2){ border-left: 1px solid #ccc; border-right: 1px solid #ccc; } .sp-btm{ text-align: left; box-sizing: border-box; text-indent: 20px; overflow: hidden; } .resolution{ width: 33%; float: left; } .resolution:nth-of-type(2){ border-left: 1px solid #ccc; border-right: 1px solid #ccc; } .btn{ float: right; width: 60px; margin: 20px 0; } </style> </head> <body> <div class="specWrap"> <div class="specification"> <div class="sp-top"> <ul> <li>SPECIFICATIONS功能</li> <li>LEVELS规格</li> <li>SELECTED选择</li> </ul> </div> <div class="sp-cen"> <div class="screen"> <p>Screen size屏幕大小</p> </div> <div class="screen"> <ul class="size"> <li>4</li> <li>4.5</li> <li>5</li> <li>5.5</li> <li>6</li> <li>6.5</li> </ul> </div> <div class="screen sc"></div> </div> <div class="sp-btm"> <div class="resolution"> <p>Screen resolution屏幕分辨率</p> </div> <div class="resolution"> <ul class="resolu"> <li>High definition (720p)</li> <li>Full HD (1080p)</li> <li>Quad HD (2K) 四倍高清(2K)</li> <li>Ultra HD (4K) 超高清(4K)</li> </ul> </div> <div class="resolution re"></div> </div> </div> <div> <button class="btn">提交</button> </div> </div> </body> <script> var size=document.getElementsByClassName('size')[0].children; //size列表 var resolu=document.getElementsByClassName('resolu')[0].children; //分辨率列表 var specWrap=document.getElementsByClassName('specWrap')[0]; for(let i=0;i<size.length;i++){ //size选择 size[i].function (e) { //按下事件 for(var i=0;i<size.length;i++){ size[i].style.position=''; size[i].style.background=''; } var e=e||event; var lf=e.offsetX; var tp=e.offsetY; var current=this; current.style.position='absolute'; document.function(e){ //移动事件 var e=e||event; var x=e.clientX-specWrap.offsetLeft-lf; var y=e.clientY-specWrap.offsetTop-tp; current.style.left=x+'px'; current.style.top=y+'px'; } document.function(){ //鼠标释放事件 document.null; document.getElementsByClassName('sc')[0].innerHTML=current.innerHTML; current.style.position=''; } } } for(let i=0;i<resolu.length;i++){ //resolution选择,可以进行代码封装,在这我就不封装了 resolu[i].function (e) { for(var i=0;i<resolu.length;i++){ resolu[i].style.position=''; resolu[i].style.background=''; } var e=e||event; var lf=e.offsetX; var tp=e.offsetY; var current=this; current.style.position='absolute'; current.style.zIndex=6; document.function(e){ var e=e||event; var x=e.clientX-specWrap.offsetLeft-lf; var y=e.clientY-specWrap.offsetTop-tp; current.style.left=x+'px'; current.style.top=y+'px'; } document.function(){ document.null; document.getElementsByClassName('re')[0].innerHTML=current.innerHTML; current.style.position=''; } } } </script> </html>
以上就是关于用JS实现表格拖动选择的介绍,希望本文对大家学习python中对数据库的操作有帮助,想要了解更多JavaScript的内容,大家可以关注群英网络其它相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于JavaScript中数值方法和属性的相关问题,包括了toSting、toFixed、toPrecision等等内容,下面一起来看一下,希望对大家有帮助。
目录Axios与proxy反向代理1、Axios 的特性2、Axios 的安装3、Axios 与proxy反向代理的使用axios反向代理proxy个人理解使用反向代理proxy的原因proxy基本配置Axios与proxy反向代理Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.j
JavaScript怎样压缩并加密图片,有不少朋友对此感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
这篇我们来了解Node.js中puppeteer库如何安装和使用,以及能用做什么?文中的介绍很详细,有具体示例供大家参考,对大家学习和了解puppeteer库的使用有帮助,感兴趣的朋友就继续往下看吧。
在ES6(ES2015)出现之前,JavaScript中声明变量就只有通过var关键字,函数声明是通过function关键字,而在ES6之后,声明的方式有var、let、const、function、class,本文主要讨论var、let和const之间的区别
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008