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 函数链之演变
Apr 07 Javascript
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
Jan 13 Javascript
关于js数组去重的问题小结
Jan 24 Javascript
使用jquery动态加载js文件的方法
Dec 24 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
Aug 12 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
Oct 30 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
Jun 27 Javascript
js 模仿锚点定位的实现方法
Nov 19 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
Dec 11 jQuery
JS浅拷贝和深拷贝原理与实现方法分析
Feb 28 Javascript
基于vue如何发布一个npm包的方法步骤
May 15 Javascript
layui使用form表单实现post请求页面跳转的方法
Sep 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
php smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
php设置允许大文件上传示例代码
2014/03/10 PHP
PHP中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
2014/07/28 PHP
smarty高级特性之对象的使用方法
2015/12/25 PHP
laravel 获取当前url的别名方法
2019/10/11 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
window.location和document.location的区别分析
2008/12/23 Javascript
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
javascript打印大全(打印页面设置/打印预览代码)
2013/03/29 Javascript
文本框文本自动补全效果示例分享
2014/01/19 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
javascript与Python快速排序实例对比
2015/08/10 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
js如何获取网页所有图片
2017/05/12 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
Node层模拟实现multipart表单的文件上传示例
2018/01/02 Javascript
微信公众号生成新浪短网址的实现(快速生成)
2019/08/18 Javascript
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
Python 查找字符在字符串中的位置实例
2018/05/02 Python
Window 64位下python3.6.2环境搭建图文教程
2018/09/19 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
2020/05/17 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
详解HTML5.2版本带来的修改
2020/05/06 HTML / CSS
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
大学生职业生涯规划书前言
2014/01/09 职场文书
打架检讨书50字
2014/01/11 职场文书
五型班组建设方案
2014/02/10 职场文书
就业协议书的作用
2014/04/11 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
单位考核聘任报告
2015/03/02 职场文书
工会文体活动总结
2015/05/07 职场文书
终止解除劳动合同证明书
2015/06/17 职场文书
事业单位岗位说明书
2015/10/08 职场文书
el-table-column 内容不自动换行的解决方法
2022/08/14 Vue.js