Vue實(shí)現(xiàn)鼠標(biāo)經(jīng)過文字顯示懸浮框效果的示例代碼
需求
在所做的Vue項(xiàng)目中,需要在鼠標(biāo)移動文字框的時候顯示一些詳細(xì)信息。最終實(shí)現(xiàn)的效果如下:

鼠標(biāo)經(jīng)過button的時候,可以在光標(biāo)附近顯示出一個懸浮框,顯示框里面顯示時間和值的信息,鼠標(biāo)移出button元素的時候,這個顯示框會消失。
分析
涉及到鼠標(biāo)的移動事件。
鼠標(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)移動事件)
box.onmousemove = function(e){
console.log(e)
}
5、onmouseout(鼠標(biāo)劃出事件)
box.onmouseout = function(e){
console.log(e)
}
由鼠標(biāo)的MouseEvent需要了解幾個坐標(biāo):
一、clientX、clientY 點(diǎn)擊位置距離當(dāng)前body可視區(qū)域的x,y坐標(biāo)
二、pageX、pageY 對于整個頁面來說,包括了被卷去的body部分的長度
三、screenX、screenY 點(diǎn)擊位置距離當(dāng)前電腦屏幕的x,y坐標(biāo)
四、offsetX、offsetY 相對于帶有定位的父盒子的x,y坐標(biāo)
五、x、y 和screenX、screenY一樣

實(shí)現(xiàn)
我實(shí)現(xiàn)的思路是寫了一個默認(rèn)的空div,用來展示懸浮框信息。展示的懸浮框是絕對定位,一開始是隱藏的,當(dāng)觸發(fā)mouseover事件的時候,把display變?yōu)閎lock塊級元素,然后獲取的event事件,
<div id="mouse" v-if="true" class="version_total">
</div>
.version_total{
position: absolute;
width: 10%;
height: 5%;
}
然后真正的div上面寫個mousemove 綁定一個方法傳遞參數(shù)和event事件:在這個方法里面更改樣式,最后用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>"+"時間:"+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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
uniapp實(shí)現(xiàn)webview頁面關(guān)閉功能的代碼示例
uniapp用web-view打開一個網(wǎng)頁,網(wǎng)頁中點(diǎn)擊跳轉(zhuǎn)到下一層級的網(wǎng)頁,一層層深入,點(diǎn)擊返回鍵或者頁面上方返回按鈕只能一層層往回退,下面這篇文章主要給大家介紹了關(guān)于uniapp實(shí)現(xiàn)webview頁面關(guān)閉功能的相關(guān)資料,需要的朋友可以參考下2024-03-03
vue?模板循環(huán)繪制多行上傳文件功能實(shí)現(xiàn)
這篇文章主要為大家介紹了vue?模板循環(huán)繪制多行上傳文件功能實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
vue-router的HTML5 History 模式設(shè)置
這篇文章主要介紹了vue-router的HTML5 History模式設(shè)置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09

