Vue實(shí)現(xiàn)鼠標(biāo)經(jīng)過文字顯示懸浮框效果的示例代碼
需求
在所做的Vue項(xiàng)目中,需要在鼠標(biāo)移動(dòng)文字框的時(shí)候顯示一些詳細(xì)信息。最終實(shí)現(xiàn)的效果如下:
鼠標(biāo)經(jīng)過button的時(shí)候,可以在光標(biāo)附近顯示出一個(gè)懸浮框,顯示框里面顯示時(shí)間和值的信息,鼠標(biāo)移出button元素的時(shí)候,這個(gè)顯示框會(huì)消失。
分析
涉及到鼠標(biāo)的移動(dòng)事件。
鼠標(biāo)事件有下面這幾種:
1、onclick(鼠標(biāo)點(diǎn)擊事件)
box.onclick = function(e){ console.log(e) }
2、onmousedown(鼠標(biāo)按下事件)
box.onmousedown = function(e){ console.log(e) }
3、onmouseup(鼠標(biāo)松開事件)
box.onmouseup = function(e){ console.log(e) }
4、onmousemove(鼠標(biāo)移動(dòng)事件)
box.onmousemove = function(e){ console.log(e) }
5、onmouseout(鼠標(biāo)劃出事件)
box.onmouseout = function(e){ console.log(e) }
由鼠標(biāo)的MouseEvent需要了解幾個(gè)坐標(biāo):
一、clientX、clientY 點(diǎn)擊位置距離當(dāng)前body可視區(qū)域的x,y坐標(biāo)
二、pageX、pageY 對(duì)于整個(gè)頁面來說,包括了被卷去的body部分的長(zhǎng)度
三、screenX、screenY 點(diǎn)擊位置距離當(dāng)前電腦屏幕的x,y坐標(biāo)
四、offsetX、offsetY 相對(duì)于帶有定位的父盒子的x,y坐標(biāo)
五、x、y 和screenX、screenY一樣
實(shí)現(xiàn)
我實(shí)現(xiàn)的思路是寫了一個(gè)默認(rèn)的空div,用來展示懸浮框信息。展示的懸浮框是絕對(duì)定位,一開始是隱藏的,當(dāng)觸發(fā)mouseover事件的時(shí)候,把display變?yōu)閎lock塊級(jí)元素,然后獲取的event事件,
<div id="mouse" v-if="true" class="version_total"> </div> .version_total{ position: absolute; width: 10%; height: 5%; }
然后真正的div上面寫個(gè)mousemove 綁定一個(gè)方法傳遞參數(shù)和event事件:在這個(gè)方法里面更改樣式,最后用innerHtml來展現(xiàn)出來,需要給懸浮框的div元素設(shè)置top和left屬性,具體的代碼如下:
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>"+"時(shí)間:"+time+"</p>"; var html2 ="<p>"+"值:"+keyValue+"</p>"; showDiv.innerHTML = html+html2 }, leave($event){ var showDiv = document.getElementById('mouse') showDiv.style.display = 'none' showDiv.innerHTML = '' }
到此這篇關(guān)于Vue實(shí)現(xiàn)鼠標(biāo)經(jīng)過文字顯示懸浮框效果的示例代碼的文章就介紹到這了,更多相關(guān)Vue 鼠標(biāo)懸浮框內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
node+vue前后端分離實(shí)現(xiàn)登錄時(shí)使用圖片驗(yàn)證碼功能
這篇文章主要介紹了node+vue前后端分離實(shí)現(xiàn)登錄時(shí)使用圖片驗(yàn)證碼,記錄前端使用驗(yàn)證碼登錄的過程,后端用的是node.js,關(guān)鍵模塊是svg-captcha,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11Vue計(jì)算屬性中reduce方法實(shí)現(xiàn)遍歷方式
這篇文章主要介紹了Vue計(jì)算屬性中reduce方法實(shí)現(xiàn)遍歷方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03vue頁面不能根據(jù)路徑進(jìn)行跳轉(zhuǎn)的解決方法
本文主要介紹了vue頁面不能根據(jù)路徑進(jìn)行跳轉(zhuǎn)的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12利用vueJs實(shí)現(xiàn)圖片輪播實(shí)例代碼
本篇文章主要介紹了利用vueJs實(shí)現(xiàn)圖片輪播實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06Vue實(shí)現(xiàn)商品分類菜單數(shù)量提示功能
這篇文章主要介紹了Vue實(shí)戰(zhàn)—商品分類菜單數(shù)量提示功能,本文通過項(xiàng)目實(shí)戰(zhàn)給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07Vue源碼解析之?dāng)?shù)組變異的實(shí)現(xiàn)
這篇文章主要介紹了Vue源碼解析之?dāng)?shù)組變異的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12vue項(xiàng)目中的遇錯(cuò):Invalid?Host?header問題
這篇文章主要介紹了vue項(xiàng)目中的遇錯(cuò):Invalid?Host?header問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07Vue build過程取消console debugger控制臺(tái)信息輸出方法詳解
這篇文章主要為大家介紹了Vue build過程取消console debugger控制臺(tái)信息輸出方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09