js實(shí)現(xiàn)表格拖動(dòng)選項(xiàng)
本文實(shí)例為大家分享了js實(shí)現(xiàn)表格拖動(dòng)選項(xiàng)的具體代碼,供大家參考,具體內(nèi)容如下
題目要求如下圖所示,具體思路:拖動(dòng)改變選擇項(xiàng),用的的事件是js的拖動(dòng)相關(guān)事件。
代碼:
<!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規(guī)格</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){ //移動(dòng)事件 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(){ //鼠標(biāo)釋放事件 document.null; document.getElementsByClassName('sc')[0].innerHTML=current.innerHTML; current.style.position=''; } } } for(let i=0;i<resolu.length;i++){ //resolution選擇,可以進(jìn)行代碼封裝,在這我就不封裝了 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>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript實(shí)現(xiàn)消消樂的源代碼
這篇文章主要介紹了JavaScript實(shí)現(xiàn)消消樂-源代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01js中數(shù)組解構(gòu)與對(duì)象解構(gòu)示例代碼
數(shù)組解構(gòu)是一種在 JavaScript 中從數(shù)組中提取值并將它們分配給變量的方式,在數(shù)組解構(gòu)中分為完全解構(gòu),不完全解構(gòu),解構(gòu)失敗以及解構(gòu)默認(rèn)值,這篇文章主要介紹了js中數(shù)組解構(gòu)與對(duì)象解構(gòu),需要的朋友可以參考下2023-09-09JS動(dòng)態(tài)圖片的實(shí)現(xiàn)方法完整示例
這篇文章主要介紹了JS動(dòng)態(tài)圖片的實(shí)現(xiàn)方法,結(jié)合完整實(shí)例形式分析了JavaScript鼠標(biāo)響應(yīng)與頁(yè)面元素屬性動(dòng)態(tài)變換相關(guān)操作技巧,需要的朋友可以參考下2020-01-01Js+Ajax,Get和Post在使用上的區(qū)別小結(jié)
下面小編就為大家?guī)硪黄狫s+Ajax,Get和Post在使用上的區(qū)別小結(jié)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06再次更新!MSClass (Class Of Marquee Scroll通用不間斷滾動(dòng)JS封裝類 Ver 1.6)
再次更新!MSClass (Class Of Marquee Scroll通用不間斷滾動(dòng)JS封裝類 Ver 1.6)...2007-02-02JS控制一個(gè)DIV層在指定時(shí)間內(nèi)消失的方法
這篇文章主要介紹了JS控制一個(gè)DIV層在指定時(shí)間內(nèi)消失的方法,需要的朋友可以參考下2014-02-02