当前位置: 首页 > wzjs >正文

毕设做系统与网站宝塔网站做301重定向

毕设做系统与网站,宝塔网站做301重定向,海南房产网,网站开发项目描述使用原生的操作DOM的方式,实现元素的拖拉拽功能。默认将元素绝对定位到左上角位置left为0,top为0。监听元素的移动,只需要知道元素的左上角x和y位置即可,元素的x和y的偏移量就是元素重新进行定位的left和top的数据。 getBoundingC…

使用原生的操作DOM的方式,实现元素的拖拉拽功能。默认将元素绝对定位到左上角位置left为0,top为0。监听元素的移动,只需要知道元素的左上角x和y位置即可,元素的x和y的偏移量就是元素重新进行定位的left和top的数据。
getBoundingClientRect() 是 DOM 元素的一个方法,它返回一个 DOMRect 对象,提供了元素的大小及其相对于视口(viewport)的位置信息。
具体代码:

<template><divref="draggable"class="draggable-box"@mousedown="startDrag">拖拽我 (自定义实现)</div>
</template><script setup>
import { ref, onMounted, onUnmounted } from 'vue'const draggable = ref(null)
let isDragging = false; // 是否拖动
let offsetX = 0
let offsetY = 0const startDrag = (e) => {isDragging = true// 计算鼠标相对于元素左上角的偏移// getBoundingClientRect() 是 DOM 元素的一个方法,它返回一个 DOMRect 对象,提供了元素的大小及其相对于视口(viewport)的位置信息。const rect = draggable.value.getBoundingClientRect();// console.log(`元素距离视口左侧: ${rect.left}px`);// console.log(`元素距离视口顶部: ${rect.top}px`);offsetX = e.clientX - rect.left; offsetY = e.clientY - rect.top// 添加样式draggable.value.style.cursor = 'grabbing'draggable.value.style.userSelect = 'none'// 阻止默认行为防止文本选中e.preventDefault()
}const onMouseMove = (e) => {if (!isDragging) return// 计算新位置const x = e.clientX - offsetXconst y = e.clientY - offsetY// 应用新位置draggable.value.style.left = `${x}px`draggable.value.style.top = `${y}px`
}const stopDrag = () => {isDragging = falseif (draggable.value) {draggable.value.style.cursor = 'grab'draggable.value.style.userSelect = ''}
}onMounted(() => {// 初始位置draggable.value.style.position = 'absolute'draggable.value.style.left = '0px'draggable.value.style.top = '0px'// 添加事件监听document.addEventListener('mousemove', onMouseMove)document.addEventListener('mouseup', stopDrag)
})onUnmounted(() => {// 移除事件监听document.removeEventListener('mousemove', onMouseMove)document.removeEventListener('mouseup', stopDrag)
})
</script><style>
.draggable-box {width: 100px;height: 100px;background-color: #e74c3c;color: white;display: flex;justify-content: center;align-items: center;cursor: grab;user-select: none;
}
</style>
http://www.dtcms.com/wzjs/841601.html

相关文章:

  • 网站seo优化加推广wordpress主题next推荐
  • 有后台管理系统网站管理上海网页设计公司
  • googleseo排名宁波seo关键词费用
  • 临沧网站开发商业网站建设试题
  • 深圳好的网站建设公小程序开发和app开发差别
  • 公司做网站一般多少钱运营网站免费正能量加载要快
  • asp.net网站开发视频教程如何对网站进行改版
  • 公司网站怎么发布文章免费crm软件推荐
  • 关于网站开发的参考文献有哪些主流媒体网站建设
  • 哈密伊吾县建设局网站中山住房和建设局网站
  • 阿里云 企业网站选哪种网站页面布局优化
  • 精品简历模板网站适合夫妻二人观看的电视剧
  • 1688网站首页上海新闻
  • 雕刻业务网站怎么做进入百度搜索网站
  • 免费商会网站模板住房和城乡建设部信息中心
  • 网页设计与网站建设完全实战手册网站建设贵不贵
  • 做网站好公司有哪些网络建设和维护
  • 美仑美家具的网站谁做的给个网站做导航违法吗
  • 深圳罗湖区网站建设wordpress后台特别慢
  • 内蒙古住房建设部官方网站网站开发教科书
  • 网站线框吴中seo外链推广工具
  • 青岛网站模板分析无线传感网络的体系架构
  • 网站建设下一步工作计划深圳最好的公司排名
  • 湖州微信网站建设哈尔滨专业网站营销
  • 网站seo视频教程关键词排名优化官网
  • ffmpeg做视频网站pc端网站开发
  • 四川城乡建设厅官方网站重庆网站建设总结与体会
  • 上海企业网站优化公司学校网站开发背景
  • 网站服务费一年多少钱wordpress固定连接不能访问
  • 适合国外网站的dnshtml购物网站设计