vue 自定义指令-----文字提示气泡

实现一个简单的 鼠标滑过出现文字提示。啥也不说 上代码

包括了 指令类容更新

1import Vue from 'vue' 2 3 Vue.directive('mouse', { 4 // 初始化 5 bind: function(el, binding, vnode) { 6 7 }, 8 // 被插入 9 inserted:function(el, binding, vnode){ 10 mousEnter(el,binding) 11 }, 12 // 更新值 13 update:function(el, binding, vnode){ 14 if(binding.value != binding.oldValue) { 15 mousEnter(el,binding) 16 } 17 }, 18 unbind:function(el, binding, vnode) { 19 console.log('指令与元素解绑时调用') 20 el.removeEventListener('mouseenter',mousEnter) 21 el.removeEventListener('mouseout',mousEnter) 22 } 23 }) 24// 添加鼠标事件 25function mousEnter(el,binding) { 26 // 划入 27 el.addEventListener('mouseenter',viewEnter,false) 28 // 离开 29 el.addEventListener('mouseout',viewLeve,false) 30 // 获取 当前节点 距离屏幕顶部距离 31 let bottom = el.getBoundingClientRect().bottom 32 33 let span = document.getElementsByClassName('mose-view')[0] 34 35 36 if(!span){ 37 span = document.createElement('span') 38 span.style.visibility = 'hidden' 39 span.setAttribute('class','mose-view') 40 document.body.appendChild(span) 41 } 42 function viewEnter(e) { 43 span.innerHTML = binding.value 44 let x = e.offsetX 45 let y = e.offsetY 46 47 span.style.top = bottom + 2 + 'px' 48 span.style.left = x + 'px' 49 span.style.visibility = 'visible' 50 span.style.opacity = '1' 51 52 } 53 54 function viewLeve() { 55 span.style.visibility = 'hidden' 56 span.style.opacity = '0' 57 } 58} 59 60 61

效果如下

在这里插入图片描述

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

一篇文章带你了解JavaScript日期

日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )