vue左侧悬浮_vue实现移动端悬浮窗效果

2023-11-13

本文讲述,在使用VUE的移动端实现类似于iPhone的悬浮窗的效果。

相关知识点

touchstart当在屏幕上按下手指时触发

touchmove 当在屏幕上移动手指时触发

touchend 当在屏幕上抬起手指时触发

mousedown mousemove mouseup对应的是PC端的事件

touchcancel当一些更高级别的事件发生的时候(如电话接入或者弹出信息)会取消当前的touch操作,即触发touchcancel。一般会在touchcancel时暂停游戏、存档等操作。

效果图

47a93899da81a962d6250c6ee1b3abad.gif

实现步骤

1.html

总结了一下评论,好像发现大家都碰到了滑动的问题。就在这里提醒一下吧。可将该悬浮 DIV 同你的 scroller web 同级。 —- (log: 2018-08-21)

html结构:

你的web页面
悬浮DIV

...

你的web页面

@mousedown="down" @touchstart="down"

@mousemove="move" @touchmove="move"

@mouseup="end" @touchend="end"

>

{{pageInfo.totalPage}}

...

2.JS

data() {

return {

flags: false,

position: { x: 0, y: 0 },

nx: '', ny: '', dx: '', dy: '', xPum: '', yPum: '',

}

}

methods: {

// 实现移动端拖拽

down(){

this.flags = true;

var touch;

if(event.touches){

touch = event.touches[0];

}else {

touch = event;

}

this.position.x = touch.clientX;

this.position.y = touch.clientY;

this.dx = moveDiv.offsetLeft;

this.dy = moveDiv.offsetTop;

},

move(){

if(this.flags){

var touch ;

if(event.touches){

touch = event.touches[0];

}else {

touch = event;

}

this.nx = touch.clientX - this.position.x;

this.ny = touch.clientY - this.position.y;

this.xPum = this.dx+this.nx;

this.yPum = this.dy+this.ny;

moveDiv.style.left = this.xPum+"px";

moveDiv.style.top = this.yPum +"px";

//阻止页面的滑动默认事件;如果碰到滑动问题,1.2 请注意是否获取到 touchmove

document.addEventListener("touchmove",function(){

event.preventDefault();

},false);

}

},

//鼠标释放时候的函数

end(){

this.flags = false;

},

}

3.CSS

.xuanfu {

height: 4.5rem;

width: 4.5rem;

/* 如果碰到滑动问题,1.3 请检查 z-index。z-index需比web大一级*/

z-index: 999;

position: fixed;

top: 4.2rem;

right: 3.2rem;

border-radius: 0.8rem;

background-color: rgba(0, 0, 0, 0.55);

}

.yuanqiu {

height: 2.7rem;

width: 2.7rem;

border: 0.3rem solid rgba(140, 136, 136, 0.5);

margin: 0.65rem auto;

color: #000000;

font-size: 1.6rem;

line-height: 2.7rem;

text-align: center;

border-radius: 100%;

background-color: #ffffff;

}

实现好JS逻辑,基本上,问题不大。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue左侧悬浮_vue实现移动端悬浮窗效果 的相关文章

  • 【LeetCode】3. 无重复字符的最长子串 给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。

    3 无重复字符的最长子串 给定一个字符串s 请你找出其中不含有重复字符的最长子串的长度 示例 1 输入 s abcabcbb 输出 3 解释 因为无重复字符的最长子串是 abc 所以其长度为 3 示例 2 输入 s bbbbb 输出 1 解
  • webpack打包优化和打包上线

    通过 npm run serve 启动本地 执行 development 通过 npm run test 打包测试 执行 testing 通过 npm run build 打包正式 执行 production 图片优化 使用 url loa
  • Uniapp低功耗蓝牙操作实例

    uniapp低功耗蓝牙在移动端使用较为平常 本文相较于官方文档介绍一下低功耗蓝牙的操作案例 即取即用 低功耗蓝牙虽工作原理与经典蓝牙类似 但是有着独特的架构体系 所以LE独立出来成为一种蓝牙形态 不过LE和经典蓝牙使用相同的2 4G无线电频
  • 机器学习好伙伴之scikit-learn的使用——datasets获得数据集

    机器学习好伙伴之scikit learn的使用 datasets获得数据集 载入sklearn中自带的datesets 利用sklearn的函数生成数据 应用示例 利用sklearn中自带的datesets进行训练 利用sklearn中生成
  • 使用ASMD 来描述硬件电路并辅助verilog 代码的编写

    TOC 使用ASMD 来描述硬件电路并辅助verilog 代码的编写 ASMD 的定义 ASM 算法状态机 图是描述时序状态机的一种抽象 类似于软件流程图 描述状态机的动作 但是ASM 图只显示控制信号和行为动作 控制状态 不显示存储元件所
  • 详谈redis之有序集合(ZSET)

    一 前言 有序集合存储着成员 member 和分值 score 的键值对 按照分值从小到大自动排序 具体细节在第一篇blog 详谈redis数据结构 中 不太熟悉的同学可以回去查看 对Java不太熟悉的同学可关注文章末尾的公众号 里面满满干
  • uniapp小程序的苹果 ios页面左右或上下滑动问题的解决方法效果damo(整理)

    一般来说 微信小程序的页面是不需要左右滑动的 甚至说是不允许左右滑动的 事实上 安卓手机在默认情况下就是左右不滑动的 但苹果IOS手机默认是左右可滑动的 其解决方法如下 在具体页面的顶级view元素设置class page 其CSS样式如下
  • eclipse中建动态web项目

    1 eclipse环境下配置tomcat 2 建项目 这就是一个建好的项目 3 将项目部署在tomcat服务器中 这个时候你的项目就部署在服务器上了
  • k8s 控制器:Replicaset 和 Deployment

    Deployment 官方文档 https kubernetes io docs concepts workloads controllers deployment k8s 在定义 pod 资源时 可以直接创建一个 kind Pod 类型的
  • 漫画告诉你:区块链到底是什么?

    区块链到底是什么 一幅漫画让你秒懂 区块链技术是指一种全民参与记账的方式 所有的系统背后都有一个数据库 你可以把数据库看成是就是一个大账本 目前是各自记各自的账 由于没有中心化的中介机构存在 让所有的东西都通过预先设定的程序自动运行 不仅能
  • JAVA垃圾分类网站计算机毕业设计Mybatis+系统+数据库+调试部署

    JAVA垃圾分类网站计算机毕业设计Mybatis 系统 数据库 调试部署 JAVA垃圾分类网站计算机毕业设计Mybatis 系统 数据库 调试部署 本源码技术栈 项目架构 B S架构 开发语言 Java语言 开发软件 idea eclips
  • 第一篇 香橙派刷机和开发环境准备(ubuntu20.04版)

    目录 一 香橙派刷ubuntu系统和SSH登录 1 Ubuntu有趣的Codename 2 刷机步骤 ubuntu20 04 格式化TF卡 烧写系统到TF卡 调试串口登陆系统 SSH登陆系统 二 开发环境准备 1 香橙派ubuntu20 0
  • “宝藏”,实用网站整理 - 持续更新ing

    文章目录 一 编程类 1 在线编程工具 1 ideone com 2 Octave Online 3 Anycodes 在线编程 2 编程刷题网站 1 LeetCode 2 牛客网 二 在线工具类 1 菜鸟工具 2 在线工具 程序员的工具箱
  • P2P原理以及如何实现(整理)

    前言 这几天看了p2p的原理以及实现的demo 整理一下 一共分为三部分 第一是概念原理 第二是demo实现 第三是p2p协议相关以及分类 一 概念原理 比较全面的理解 https zhuanlan zhihu com p 30351943
  • 地球坐标系 (WGS-84) 到火星坐标系 (GCJ-02) 的转换算法

    原文 WGS 84 到 GCJ 02 的转换 即 GPS 加偏 算法是一个普通青年轻易无法接触到的 公开 的秘密 这个算法的代码在互联网上是公开的 详情请使用 Google 搜索 wgtochina lb 整理后的算法代码请参考 https
  • 什么是外包公司?要不要去外包公司?

    01 什么是软件外包 软件外包分为 人力外包和项目外包两个方向 1 1 劳务派遣 指的是把员工外派到对应的用工企业打 短工 比如很多工程师虽然签约了中软国际 东软 文思海辉 软通动力 润和等软件公司 但实际工作地点是在华为 接受华为员相关负
  • c语言还有用吗?

    c语言还有用吗 这个问题有很多人在问 c语言真的没用吗 答案是有用的 用处还很大呢 这门语言虽然是很早以前发明的 新兴语言如c vb 功能十分强大 但每一个能代替C语言 原因 C
  • 【MySQL-约束篇】

    目录 1 空值 Null 2 默认值 3 主键 4 自增 5 唯一键 6 外键 1 空值 Null 先看一个表结构 Field Type Null Key Default Extra id int 11 YES NULL name
  • Java Long类型的查询结果与前端TypeScript显示不一致,后端传值与前端对不上,出现精度损失

    自己折腾了一个项目 使用的技术是SpringBoot MP Vben admin MySql 今天瞎搞的时候发现了一个让我很懵逼的问题 如下图所示 上方是浏览器打印出来的log 下方是数据库实际存在的数据 或者也可以说是后台接口断点调试的数

随机推荐

  • 电赛猜题?我觉得没用,还不如做好这些!

    01 前言 大家好 我是张巧龙 转眼又到22年电赛 这个公众号上有很多同学可能都参加过电赛 有毕业的已经工作的 也有没毕业的今年要参加 我第一次接触电赛是在大一暑期 从参加电赛到指导学生参加电赛 转眼快十年了 20年省赛有6个省一等奖 21
  • 2021-04-09

    jar 自动装配 springboot帮我们配置了什么 xxxxAutoConfiguration 向容器中自动装配组件 xxxxProperties 自动装配类 装配配置文件中自定义的一些内容 要 导入静态资源 首页 jsp 装配扩展Sp
  • ubuntu安装llvm教程

    安装必要工具 sudo apt get install build essential sudo apt get install cmake sudo apt get install python3 8 安装llvm wget https
  • RabbitMQ--基础--7.4--工作模式--路由模式(Direct)

    RabbitMQ 基础 7 4 工作模式 路由模式 Direct 代码位置 https gitee com DanShenGuiZu learnDemo tree master rabbitMq learn rabbitMq 03 1 介绍
  • GB/T28181-2022图像抓拍规范解读及技术实现

    规范解读 GB28181 2022相对2016 增加了设备软件升级 图像抓拍信令流程和协议接口 我们先回顾下规范说明 图像抓拍基本要求 源设备向目标设备发送图像抓拍配置命令 携带传输路径 会话ID等信息 目标设备完成图像传输后 发送图像抓拍
  • java基础-java的发展进程和特性

    1 JAVA的发展历程 1 1上世纪90年代 由于单片机出现引起了自动控制领域的关注 单片机可以大幅度提升电子消费产品的智能化程度 比如电视机顶盒 烤箱 移动电话等 Sun公司成立了Green的项目小组 专攻计算机在家电产品上的嵌入式开发
  • 总结45 SpringMVC框架的基本应用(替代Servlet)

    流程图 面试用 概念 当要实现在Spring框架下的web服务时 那么servlet将无法兼容 因为Spring无法依赖注入到Servlet 因此将会通过SpringMVC来替代servlet 从而提供WEB服务 也就是说 在今后的实际开发
  • 错误 1452:无法添加或更新子行:外键约束失败

    1452 Cannot add or update a child row a foreign key constraint fails goaread views CONSTRAINT views ibfk 1 FOREIGN KEY s
  • [Java多线程 八]---JUC包下的锁和工具类

    原文链接 http www cnblogs com skywang12345 p 3496098 html 概述 根据锁的添加到Java中的时间 Java中的锁 可以分为 同步锁 和 JUC包中的锁 同步锁 实现方式 即通过synchron
  • 解决Xshell显示中文乱码的问题

    执行echo LANG命令输出的是当前的编码方式 执行locale命令得到系统中所有可用的编码方式 要让Xshell不显示乱码 则要将编码方式改为UTF 8 在Xshell中 file gt open gt 在打开的session中选择连接
  • Python习题练习1--变量赋值交换

    题目 已知a的值是1 b的值是2 如何交换a b的值 打印a的值为2 b的值为1 这时候我们就可以思考了 是不是可以直接交换呢 在python中特有这种写法 可以看下下面解法 a 1 定义a的值为1 b 2 定义b的值为2 a b b a
  • SVM算法的参数

    1 c float参数 默认值为1 0 错误项的惩罚系数 c越大 即对分错样本的惩罚程度越大 因此在训练样本中准确率越高 但是泛化能力降低 也就是对测试数据的分类准确率降低 相反 减小c的话 允许训练样本中有一些误分类错误样本 泛化能力强
  • Linux嵌入式学习---C语言之赋值

    Linux嵌入式学习 C语言之赋值 一 语句的作用和分类 1 常见的9种控制语句 2 函数调用语句 3 表达式语句 4 空语句 5 复合语句 二 赋值语句 1 赋值运算符 2 复合的赋值运算符 3 变量赋初值 一 语句的作用和分类 1 常见
  • 彩光和灰光模块_Y5T265 【5G光模块】一个基站前传到底是用6个还是12个,或者是24模块...

    Y5T264 5G光模块 模式分配噪声 接着昨天继续分析5G前传光模块白皮书 问题1 在白皮书的第三页 前传光模块的需求 有不同的传输距离 这个我们能理解 有需要灰光或者彩光的 我们也能理解 但我们不能理解的是为什么前传模块的速率有10G
  • signature今日头条php实现,今日头条_signature 分析

    某天群友问了一句头条翻页算法 然后随手把算法摘出来 现在分享出来 window TAC console log userInfo id a t navigator window navigator userAgent function as
  • Deep Spatio-Temporal Residual Networks(深度时空残差神经网络)

    目录 业务场景 环境搭建 数据及目录结构 模型 代码 建模 训练 预测及结果呈现 文章只是对模型的学习与实践做简要记录 以免日后给忘了 并没有对模型优劣 应用的场景等理论方面有过多分析 适合快速动手搭建 成功运行 分析代码 并学习怎样用ke
  • sql查询字段重复的数据 并且修改数据某个字段

    1 sql查询字段重复的数据 并且修改所有行某个字段值 UPDATE 表名 a SET a 要修改的字段名 1 WHERE a 重复字段 IN SELECT b 重复字段 FROM SELECT c 重复字段 FROM 表名 c GROUP
  • 5天玩转MySQL:数据库概念、SQL介绍、数据库和数据表基本操作、字符表

    数据库概念 数据库 Database 是按照数据结构来组织 存储和管理数据的建立在计算机存储设备上的仓库 数据库 存储数据的仓库 数据库分类 网络数据库 网络数据库是指把数据库技术引入到计算机网络系统中 借助于网络技术将存储于数据库中的大量
  • Eclipse导入外部工程运行报错:The selection cannot be run on any server

    一 错误描述 课下复习时导入老师的Demo 发现项目报错 在项目上有红色叉 运行时报如下错误 二 解决步骤 1 在项目上右键 gt Properties 2 打开Java Build Path 发现JDK和Tomcat都未绑定 这是原先项目
  • vue左侧悬浮_vue实现移动端悬浮窗效果

    本文讲述 在使用VUE的移动端实现类似于iPhone的悬浮窗的效果 相关知识点 touchstart当在屏幕上按下手指时触发 touchmove 当在屏幕上移动手指时触发 touchend 当在屏幕上抬起手指时触发 mousedown mo