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

中国建设招聘信息网站wordpress下载类主题

中国建设招聘信息网站,wordpress下载类主题,WordPress如何加载SSL证书,接做网站的私活怎么报价目录 需求思路代码页面展示【补充】纯js实现 需求 浮动的盒子添加鼠标拖拽功能 思路 给需要拖动的盒子添加鼠标按下事件鼠标按下后获取鼠标点击位置与盒子边缘的距离给 document 添加鼠标移动事件鼠标移动过程中,将盒子的位置进行重新定位侦听 document 鼠标弹起&a…

目录

  • 需求
  • 思路
  • 代码
  • 页面展示
  • 【补充】纯js实现

需求

浮动的盒子添加鼠标拖拽功能

思路

  1. 给需要拖动的盒子添加鼠标按下事件
  2. 鼠标按下后获取鼠标点击位置与盒子边缘的距离
  3. 给 document 添加鼠标移动事件
  4. 鼠标移动过程中,将盒子的位置进行重新定位
  5. 侦听 document 鼠标弹起,移除鼠标移动事件

代码

<!-- 鼠标拖拽盒子 -->
<template><div><!-- 【1】给需要拖动的盒子添加鼠标按下事件 --><div ref="btns" class="btns" @mousedown="mousedownHandler">试试拖动我</div></div>
</template><script>
export default {name: 'Drag',components: {},data() {return {mouseToBoxRangeX: 0, // 鼠标点击位置与盒子边缘的距离mouseToBoxRangeY: 0 // 鼠标点击位置与盒子边缘的距离}},computed: {},watch: {},mounted() {// 【5】侦听 document 鼠标弹起,移除鼠标移动事件document.addEventListener('mouseup', () => {document.removeEventListener('mousemove', this.mousemoveHandler)})},methods: {mousedownHandler($event) {// 【2】鼠标按下后获取鼠标点击位置与盒子边缘的距离//  鼠标点击位置与盒子边缘的距离 = 鼠标点击位置 - 盒子当前位置this.mouseToBoxRangeX = $event.pageX - this.$refs.btns.offsetLeftthis.mouseToBoxRangeY = $event.pageY - this.$refs.btns.offsetTop// 【3】给 document 添加鼠标移动事件document.addEventListener('mousemove', this.mousemoveHandler)},mousemoveHandler($event) {// 【4】鼠标移动过程中,将盒子的位置进行重新定位// 盒子当前位置 = 鼠标点击位置 - 鼠标点击位置与盒子边缘的距离 - 盒子自身设定的边距(此处没有)// 【注意】设置盒子最新位置时需加上单位 'px'this.$refs.btns.style.left = $event.pageX - this.mouseToBoxRangeX + 'px'this.$refs.btns.style.top = $event.pageY - this.mouseToBoxRangeY + 'px'}}
}
</script><style lang='scss' scoped>
.btns {width: 70px;height: 147px;position: absolute;bottom: 10px;right: 10px;z-index: 2000;cursor: move;background-color: red;
}
</style>

页面展示

在这里插入图片描述

【补充】纯js实现

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><style>* {margin: 0;padding: 0;}.box {position: relative;width: 100px;height: 100px;background-color: tomato;margin: 100px;}</style></head><body><div class="box"></div><script>/* 效果:鼠标拖着盒子移动拖着:鼠标左键按着不松手(mousedown),然后鼠标移动(mousemove)注意:鼠标左键按下,才注册上了鼠标移动事件*/var box = document.querySelector('.box')// 添加鼠标点击事件box.addEventListener('mousedown', function (e) {console.log('this----', this)console.log('this.offsetLeft----', this.offsetLeft)console.log('this.offsetTop----', this.offsetTop)// 【1】获取鼠标在盒子里的位置// 鼠标的坐标 - 盒子的坐标var x = e.pageX - this.offsetLeftvar y = e.pageY - this.offsetTopconsole.log(x, y)// 注册鼠标移动事件(给整个document添加 事件)document.addEventListener('mousemove', move)function move(e) {// 【2】设置盒子的位置(注意 给盒子添加定位)// 鼠标的坐标 - 鼠标在盒子里的坐标// 【2.1】盒子没有外边距// box.style.left = (e.pageX - x) + 'px';// box.style.top = (e.pageY - y) + 'px';// 【2.2】盒子有外边距box.style.left = e.pageX - x - 100 + 'px'box.style.top = e.pageY - y - 100 + 'px'}// 【3】鼠标弹起,删除移动事件document.addEventListener('mouseup', function () {// 删除鼠标移动事件document.removeEventListener('mousemove', move)})})</script></body>
</html>
http://www.yayakq.cn/news/480815/

相关文章:

  • 微信网站的优势景县网址建站
  • 公司网站建设计划北京网络网站建设价格
  • 住房和城乡建设报名网站dw做的简单的个人网站网盘
  • 昆山网站建设怎么样如何做好一名销售
  • 浅谈你对大学校园网站建设的建议凉山网站开发
  • asp做网站得多长时间福州专业网站营销
  • 淘宝有做网站吗济南网站建设 刘彬彬
  • 深圳高端电商网站建设者开发大型网站的流程
  • 宜昌网站建设制作公司关键词推广平台
  • 做网站盈利现在建设一个网站需要什么技术
  • 个人网站备案备注写什么怎么做电子商务的网站推广
  • 制作企业网站页面多少钱北京微信公众号
  • 网站开发成本核算上海网站推广价格
  • 自己做的网站怎么弄成appWordPress文章内容密码可见
  • 怎样做网站分析百度网址大全导航首页
  • 网站空间商盗取数据恩城seo的网站
  • 新型网站建设知乎网站建设用的工具
  • 佛山市企业网站seo报价网站制作 客户刁难
  • 招代理商的网站百度手机关键词排名工具
  • 英文电商网站建设如何做实体店的网站
  • 石家庄微网站建设公司灯网一家专门做灯的网站
  • 杭州富阳网站建设沈阳关键字优化公司
  • 音乐培训如何做网站宣传wordpress更改后台地址
  • 南京企业制作网站深圳市住房建设局网站首页
  • 网站登录注册页面模板莱芜营销型网站制作
  • 网站建设兆金手指科杰wordpress站点的临时域名
  • 赣州网站建设公司wordpress评论ip
  • 哪个网站可以代做试题网络游戏网站制作
  • 滨江网站建设公司网页版梦幻西游周游方壶
  • 海南省建设厅网站首页阿里云网站建设初衷