日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

javascript --- 原生的拖拽功能实现

發布時間:2023/12/10 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javascript --- 原生的拖拽功能实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

準備一個方塊:

<style>.drag{background-color:#aaf;position:absolute;} </style> <div class="drag" style="width:100px;height:100px;top:0;left:0"></div>


監聽鼠標的按住事件:

let dragDiv = document.getElementsByClassName("drag")[0]; let mousedown = (event)=>{alert("按住了"); }dragDiv.addEventListener("mousedown", mousedown,false);


按住事件(具體):

// 首先鼠標得變成一個pointer狀態, // 然后監聽移動事件,讓方塊跟著鼠標動(style.left = 鼠標距離左側得距離(event.clientX) - 鼠標與方塊左邊距的距離(dragDiv.style.left)) // 重寫mousedown. let mousedown = (event) => {let relaLeft = event.clientX- parseInt(dragDiv.style.left);let relaTop = event.clientY- parseInt(dragDiv.style.top);// 點擊時候的樣式dragDiv.style.cursor = "pointer";dragDiv.style.border = "1px solid red";// 監聽鼠標移動 (注意是監聽document)document.onmousemove = (event) => {// 小方格跟著鼠標移動dragDiv.style.left = event.clientX - relaLeft + 'px' ;dragDiv.style.top = event.clientY - relaTop + 'px' ;// 小方格的邊界if( parseInt(dragDiv.style.left) <=0) {dragDiv.style.left = 0}if( parseInt(dragDiv.style.top) <= 0 ){ dragDiv.style.top = 0}if( parseInt(dragDiv.style.left) >= window.innerWidth - parseInt(dragDiv.style.width)) {dragDiv.style.left = window.innerWidth - parseInt(dragDiv.style.width) + 'px';}if( parseInt(dragDiv.style.top) >= window.innerHeight - parseInt(dragDiv.style.height)) {dragDiv.style.top = window.innerHeight - parseInt(dragDiv.style.height) + 'px';}}document.onmouseup = () => {dragDiv.style.border = "";document.onmouseup = null;document.onmousemove = null;} }

參考 原生js實現拖拽功能

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的javascript --- 原生的拖拽功能实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。