亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

js面向對象方式實現拖拽效果

瀏覽:113日期:2024-04-04 16:42:57

本文實例為大家分享了js面向對象方式實現拖拽的具體代碼,供大家參考,具體內容如下

拖拽功能的實現原理:(直接拿走!)

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>Document</title> <style> #box { position: absolute; left: 100px; top: 100px; width: 100px; height: 100px; background: red; } #box2 { position: absolute; left: 200px; top: 200px; width: 100px; height: 100px; background: green; } </style></head><body> <div id='box'>文字</div> <div id='box2'>文字</div></body><script> class Drag { startMouse = {}; startEl = {}; #el = null; constructor(el, option) { this.#el = el; this.option = option; this.start(); } start() { let move = (e) => {this.move(e) } this.#el.addEventListener(’mousedown’, (e) => {this.startMouse = { x: e.clientX, y: e.clientY,}this.ondragstart && this.ondragstart(e)this.startEl = this.getOffset();document.addEventListener(’mousemove’, move);document.addEventListener(’mouseup’, (e) => { document.removeEventListener(’mousemove’, move); this.end(e);}, { once: true})e.preventDefault(); }) } move(e) { let nowMouse = {x: e.clientX,y: e.clientY, } let disMouse = {x: nowMouse.x - this.startMouse.x,y: nowMouse.y - this.startMouse.y } this.ondrag && this.ondrag(e) this.setOffset(disMouse) } end(e) { this.ondragend && this.ondragend(e) } getOffset() { return {x: parseFloat(getComputedStyle(this.#el)['left']),y: parseFloat(getComputedStyle(this.#el)['top']) } } setOffset(dis) { this.#el.style.left = this.startEl.x + dis.x + ’px’ this.#el.style.top = this.startEl.y + dis.y + ’px’ } } let box = document.querySelector('#box'); let box2 = document.querySelector('#box2'); let d = new Drag(box); let d2 = new Drag(box2); let clonex = null; d2.ondragstart = (e) => { clonex = box2.cloneNode(true); document.body.appendChild(clonex) box2.style.opacity = 0.5 } d2.ondragend = () => { document.body.removeChild(clonex); box2.style.opacity = 1 }</script></html>

最終效果(拖動的為綠色塊)

js面向對象方式實現拖拽效果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 涩涩网站在线观看 | 成在线人永久免费播放视频 | 一级特黄特黄xxx视频 | 国产亚洲一区二区麻豆 | 国产精品自在线拍 | 欧美日韩视频在线 | 黄色网页免费大全 | 欧美精品大片 | 色狠狠成人综合色 | 性a爱片免费视频性 | 五月天婷婷在线视频 | 国产黄色高清视频 | 免费无遮挡十八污污网站 | 傲视影院午夜毛片 | 国产精品福利在线观看入口 | 青青草99热这里都是精品 | 国产不卡视频在线观看 | 在线日本看片免费人成视久网 | 成人欧美精品大91在线 | 国产性片在线 | 麻豆影视网站 | 91精品国产薄丝高跟在线看 | 黄色淫片 | 久久99精品这里精品3 | 凹凸69堂国产成人精品视频 | 亚洲精品高清久久 | 国产a毛片高清视 | 丁香六月婷婷激情 | 亚洲看片 | 日本中文字幕乱码免费 | 亚洲综合图 | 日本一级毛片免费播 | 国内精品九一在线播放 | 亚洲jjzzjjzz在线播放 | 免费毛片无需任何播放器 | 福利视频在线观看视频 | 手机看片国产免费现在观看 | 天天在线天天看成人免费视频 | 欧美精品免费线视频观看视频 | 欧美一区欧美二区 | 黄色一级美女 |