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

四川平台网站建设哪里有千锋教育培训机构可靠吗

四川平台网站建设哪里有,千锋教育培训机构可靠吗,网站建设消费者群体分析,网站设计制作培训目录 0. 使用场景 1. 动图示例 2. 实现方式 2.1 创建drag.js 2.2 使用v-drag 3. 结尾 0. 使用场景 很多网页在浏览器右侧有"导航"或者“智能助手”的悬浮小气泡框,比如我们的csdn☞ 作为页面友好型的引导标注,某些场景下这些小气泡可以…

目录

0. 使用场景

1. 动图示例

 2. 实现方式

2.1 创建drag.js

2.2 使用v-drag

3. 结尾


0. 使用场景

很多网页在浏览器右侧有"导航"或者“智能助手”的悬浮小气泡框,比如我们的csdn☞

作为页面友好型的引导标注,某些场景下这些小气泡可以沿着浏览器的右侧进行上下的拖拽。

1. 动图示例

简单贴一张动图演示下效果

 2. 实现方式

用vue的自定义指令,做一个v-drag的操作指令,也有许多大佬分享了源码,只不过在此基础上稍加修改下限定,一直保持沿着浏览器右侧上线拖拽而已。

2.1 创建drag.js

// 实现拖动的js
import Vue from 'vue';
// 自定义拖拽指令,第一个参数'drag',即是拖拽指令名称
Vue.directive('drag', {bind: function (el) {const odiv = el;// 缓存 clientX clientY 的对象: 用于判断是点击事件还是移动事件const clientOffset = {};odiv.style.position = 'fixed';odiv.onmousedown = (e) => {const disX = e.clientX - odiv.offsetLeft;const disY = e.clientY - odiv.offsetTop;// 缓存 clientX clientYclientOffset.clientX = e.clientX;clientOffset.clientY = e.clientY;document.onmousemove = (e) => {const left = e.clientX - disX;const top = e.clientY - disY;// odiv.style.left = left + 'px'; // 放开该部分,可以进行全屏的拖拽odiv.style.right = '0px'; // 限制只能沿着右侧进行拖拽odiv.style.top = top + 'px';// odiv 距离顶部的距离const dragDivTop = window.innerHeight - odiv.getBoundingClientRect().height;// odiv 距离左部的距离const dragDivLeft = window.innerWidth - odiv.getBoundingClientRect().width;// 边界判断处理// 2、超出顶部处理if (odiv.getBoundingClientRect().top <= 0) {odiv.style.top = '0px';}// 3、超出底部处理if (odiv.getBoundingClientRect().top >= dragDivTop) {odiv.style.top = dragDivTop + 'px';}// 4、超出右边边界区域处理if (odiv.getBoundingClientRect().left >= dragDivLeft) {// odiv.style.left = dragDivLeft + 'px'; // 放开该部分,可以进行全屏的拖拽odiv.style.right = '0px'; // 限制只能沿着右侧进行拖拽}// 5、超出左边边界区域处理if (odiv.getBoundingClientRect().left <= 0) {// odiv.style.left = '0px'; // 放开该部分,可以进行全屏的拖拽odiv.style.right = '0px'; // 限制只能沿着右侧进行拖拽}};document.onmouseup = () => {document.onmousemove = null;document.onmouseup = null;};};// 绑定鼠标松开事件odiv.addEventListener('mouseup', (event) => {const clientX = event.clientX;const clientY = event.clientY;if (clientX === clientOffset.clientX && clientY === clientOffset.clientY) {return false;// console.log('click 事件');} else {return false;// console.log('drag 事件');}});}
});

其中这部分👇

odiv.style.right = '0px'; // 限制只能沿着右侧进行拖拽

 是限制拖拽位置的,共有三处,注释掉放开上一行的代码,即可实现全屏的拖拽。

2.2 使用v-drag

使用非常简单,如上图👆所示,加一个v-drag指令即可

3. 结尾

源码参考☞vue自定义组件实现右下角悬浮工具栏。vue实现可以拖动的右下角悬浮菜单。点击悬浮菜单,弹出一个自定义的弹窗组件,组件传参。vue模板 - 剑轩的专栏 - TNBLOG感谢🙏

http://www.ds6.com.cn/news/91887.html

相关文章:

  • 网站建设费用计什么科目百度信息流平台
  • 中美网站建设差异收录网站是什么意思
  • 东营疫情风险区域厦门seo关键词优化代运营
  • 网站开发分支结构广州关键词排名推广
  • 高端网站建设哪家好网站关键词排名如何提升
  • Wordpress设置Ip不开放盐城seo培训
  • 潍坊住房公积金官网seo优化排名方法
  • 友链网站降权sem工作原理
  • 直播网站建设网站搜索引擎优化案例
  • 怎么做qq空间支付网站黑龙江最新疫情通报
  • 电子商务的网站建设过程自媒体视频剪辑培训班
  • 广州微信网站建设深圳百度关键词排名
  • 什么网站专门做外围的郑州seo网站管理
  • 做电容元器件的网站有哪些网络营销网络推广
  • 做网站建设涉及哪些算法品牌推广的具体方法
  • 微信网站建设模板seo关键词排名软件
  • 外贸网站推广上海合肥网站推广公司哪家好
  • 临西做网站哪里便宜百度手机助手下载安卓版
  • 重庆网站建设 熊掌号免费推广网站2023
  • 朋友圈网站文章怎么做企业网站建设报价表
  • 佛山网站建设收费标准广州网站优化服务商
  • 凡科做网站行吗seo零基础培训
  • 预约网站制作百度风云榜小说排行榜历届榜单
  • b站怎么在视频下投放广告域名申请哪家好
  • 如何做一名网站编辑seo描述快速排名
  • 做一电影网站怎么赚钱吗拓客最有效方案
  • 石家庄专业网站设计免费技能培训网
  • 怎么做网站主导航seo是如何优化
  • 做网站做网站建站为应用技术
  • 成都工商注册流程seo外链网