Vue实现鼠标经过文字显示悬浮框效果的示例代码


Posted in Javascript onOctober 14, 2020

需求

在所做的Vue项目中,需要在鼠标移动文字框的时候显示一些详细信息。最终实现的效果如下:

Vue实现鼠标经过文字显示悬浮框效果的示例代码

鼠标经过button的时候,可以在光标附近显示出一个悬浮框,显示框里面显示时间和值的信息,鼠标移出button元素的时候,这个显示框会消失。

分析

涉及到鼠标的移动事件。

鼠标事件有下面这几种:

1、onclick(鼠标点击事件)

box.onclick = function(e){
  console.log(e)
}

2、onmousedown(鼠标按下事件)

box.onmousedown = function(e){
  console.log(e)
}

3、onmouseup(鼠标松开事件)

box.onmouseup = function(e){
  console.log(e)
}

4、onmousemove(鼠标移动事件)

box.onmousemove = function(e){
  console.log(e)
}

5、onmouseout(鼠标划出事件)

box.onmouseout = function(e){
  console.log(e)
}

由鼠标的MouseEvent需要了解几个坐标:

一、clientX、clientY 点击位置距离当前body可视区域的x,y坐标

二、pageX、pageY 对于整个页面来说,包括了被卷去的body部分的长度

三、screenX、screenY 点击位置距离当前电脑屏幕的x,y坐标

四、offsetX、offsetY 相对于带有定位的父盒子的x,y坐标

五、x、y 和screenX、screenY一样

Vue实现鼠标经过文字显示悬浮框效果的示例代码

实现

我实现的思路是写了一个默认的空div,用来展示悬浮框信息。展示的悬浮框是绝对定位,一开始是隐藏的,当触发mouseover事件的时候,把display变为block块级元素,然后获取的event事件,

<div id="mouse" v-if="true" class="version_total">
  </div>
  .version_total{
  position: absolute;
  width: 10%;
  height: 5%;
 }

然后真正的div上面写个mousemove 绑定一个方法传递参数和event事件:在这个方法里面更改样式,最后用innerHtml来展现出来,需要给悬浮框的div元素设置top和left属性,具体的代码如下:

<div :class="[yxInfo[28].value==0 ? 'buttons2':'buttonsRed']" v-if="yxInfo[28]!=undefined" @mousemove="detailInfo($event,yxInfo[28])" @mouseleave="leave($event)" style="top: 37%;left: 63%">{{yxInfo[28].keyName}}</div>

detailInfo(e,data){
    var showDiv = document.getElementById('mouse')
    showDiv.style='background-color:#8c8c8c;border:1px solid black'
    showDiv.style.height='58px'
    showDiv.style.textAlign='left'
    showDiv.style.left = (event.pageX-300) + 'px'
    showDiv.style.top = (event.pageY-120) + 'px'
    showDiv.style.display = 'block'
    let time=data.time;
    let keyValue=data.value;
    var html ="<p>"+"时间:"+time+"</p>";
    var html2 ="<p>"+"值:"+keyValue+"</p>";
    showDiv.innerHTML = html+html2
   },
leave($event){
    var showDiv = document.getElementById('mouse')
    showDiv.style.display = 'none'
    showDiv.innerHTML = ''
}

到此这篇关于Vue实现鼠标经过文字显示悬浮框效果的示例代码的文章就介绍到这了,更多相关Vue 鼠标悬浮框内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
通过JAVAScript实现页面自适应
Jan 19 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
Mar 20 Javascript
BootStrap创建响应式导航条实例代码
May 31 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
Sep 17 Javascript
简单几步实现返回顶部效果
Dec 05 Javascript
微信小程序 Nginx环境配置详细介绍
Feb 14 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
Apr 21 Javascript
基于iScroll实现内容滚动效果
Mar 21 Javascript
基于vue实现可搜索下拉框定制组件
Mar 26 Javascript
零基础之Node.js搭建API服务器的详解
Mar 08 Javascript
vue集成kindeditor富文本的实现示例代码
Jun 07 Javascript
微信小程序之数据绑定原理解析
Aug 14 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
Oct 13 #Javascript
原生JS实现相邻月份日历
Oct 13 #Javascript
jquery简易手风琴插件的封装
Oct 13 #jQuery
原生js实现照片墙效果
Oct 13 #Javascript
js轮播图之旋转木马效果
Oct 13 #Javascript
Vue中正确使用Element-UI组件的方法实例
Oct 13 #Javascript
JavaScript数组常用的增删改查与其他属性详解
Oct 13 #Javascript
You might like
ecshop 2.72如何修改后台访问地址
2015/03/03 PHP
php parse_str() 函数的定义和用法
2016/05/23 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
2019/02/15 PHP
详解PHP队列的实现
2019/03/14 PHP
php学习笔记之字符串常见操作总结
2019/07/16 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
判断一个对象是否为jquery对象的方法
2014/03/12 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
2015/09/12 Javascript
AngularJS基于MVC的复杂操作实例讲解
2017/12/31 Javascript
详解ES6中的三种异步解决方案
2018/06/28 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
JavaScript 处理树数据结构的方法示例
2019/06/16 Javascript
微信小程序实现弹框效果
2020/05/26 Javascript
解决vue页面渲染但dom没渲染的操作
2020/07/27 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
Python中if __name__ == &quot;__main__&quot;详细解释
2014/10/21 Python
python实现web方式logview的方法
2015/08/10 Python
flask-socketio实现WebSocket的方法
2018/07/31 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
python 画三维图像 曲面图和散点图的示例
2018/12/29 Python
python模块常用用法实例详解
2019/10/17 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
德国圣伯纳德草药屋:Kräuterhaus Sanct Bernhard(有中文站)
2018/08/05 全球购物
ShellScript面试题一则-ShellScript编程
2014/06/24 面试题
社区八一活动方案
2014/02/03 职场文书
个性车贴标语
2014/06/24 职场文书
财务助理岗位职责范本
2014/10/09 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
2015年中秋放假通知范文
2015/08/18 职场文书
《梅花魂》教学反思
2016/02/18 职场文书
导游词之澳门妈祖庙
2019/12/19 职场文书
Python实现仓库管理系统
2022/05/30 Python