鼠标拖拽移动DIV
25-04-07 04:39
818
0
<template> <div> <div @mousedown="mousedown">tips</div> <div> <span>这里是内容</span> </div> </div> </template> <script> export default { data() { return {}; }, methods: { mousedown(e) { // 被移动的主体 mainDiv const mainDiv = document.querySelector(".vvhan-com"); // 鼠标点击位置与主体边的距离 const distanceX = e.clientX - mainDiv.offsetLeft; const distanceY = e.clientY - mainDiv.offsetTop; // 鼠标移动事件 document.onmousemove = function (ev) { const _e = ev || e; //移动时,鼠标距离当前窗口x轴坐标 - 鼠标在拖拽元素的坐标 = 剩下距离body的x轴坐标 //将这个数值设置为拖拽元素的left、top let boxLeft = _e.clientX - distanceX; let boxTop = _e.clientY - distanceY; //获取body的页面可视宽高 const clientHeight = document.documentElement.clientHeight || document.body.clientHeight; const clientWidth = document.documentElement.clientWidth || document.body.clientWidth; //限制拖拽宽高 boxLeft = boxLeft < 0 ? 0 : boxLeft > clientWidth - mainDiv.offsetWidth ? clientWidth - mainDiv.offsetWidth : boxLeft; boxTop = boxTop < 0 ? 0 : boxTop > clientHeight - mainDiv.offsetHeight ? clientHeight - mainDiv.offsetHeight : boxTop; mainDiv.style.top = boxTop + "px"; mainDiv.style.left = boxLeft + "px"; }; // 鼠标松开事件 结束拖拽 document.onmouseup = function () { document.onmousemove = null; document.onmouseup = null; }; }, }, }; </script> <style> body { position: relative !important; background: url("https://cache.4ce.cn/ipfs/QmQtvCE2DMkYJKWicdaJxh3Vh47ca6t25RxBGrbre5Cy2p"); background-size: cover; padding: 0; margin: 0; } </style> <style scoped> .vvhan-com { user-select: none; position: absolute !important; box-sizing: border-box; padding: 6px; top: 36px; right: 36px; box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.2); width: 340px; z-index: 9; font-size: 14px; .title { margin-bottom: 6px; font-size: 16px; line-height: 28px; border-bottom: 1px rgba(0, 0, 0, 0.1) solid; cursor: move; } h1 { color: #000; } } </style>
-
html + jquery 胜利的纸牌游戏
316 0 21-06-01 -
南艺 播音主持1-4级朗诵(音频)
01.-咏鹅 骆宾王 南艺朗诵一级必读作品.mp301.《卖火柴的小女孩》安徒生 南艺朗诵四级必读作品.mp301.《鼓上画只虎》绕口令 南艺朗诵二... 998 0 24-08-20 -
大好商城小程序
"大好商城"显然是一个利用微信小程序技术构建的在线购物平台。下面将详细讨论微信小程序在电商领域的应用及其关键技术。大好商城的功能模块... 954 0 24-11-05 -
大学英语四级听力音频
大学英语四级听力真题音频-2015年12月第一套-世纪高教在线.mp3大学英语四级听力真题音频-2015年12月第二套-世纪高教在线.mp3大学英语四级听... 960 0 24-08-20 -
内存检查:多种类型的内存泄漏分析方案
内存泄漏内存泄漏(Memory Leak)是指程序中已动态分配的堆内存,由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速... 1188 0 24-05-24 -
冰点下载器3.2.12
冰点下载器是一款十分好用的文库下载器,能够对百度文库、豆丁文库等文库内的文章实现免积分一键下载,让用户无需积分就可以自由下载百度... 1239 0 24-07-01 -
灵犀外卖小程序源码带后台
灵犀外卖订单小程序源码功能介绍:订餐结算功能、购物车添加修改,信息添加修改灵犀外卖小程序源码带后台.exe 1029 0 24-09-10 -
手机PC兼容JS图片画廊特效,全屏查看图片,滑动缩放
382 0 21-06-02
发表我的评论
共0条评论
- 这篇文章还没有收到评论,赶紧来抢沙发吧~