Vue實(shí)現(xiàn)Hover功能(mouseover與mouseenter的區(qū)別及說明)
Vue實(shí)現(xiàn)Hover功能
mouseover 和 mouseenter 的區(qū)別
mouseover
:當(dāng)鼠標(biāo)移入元素或其子元素都會(huì)觸發(fā)事件,所以有一個(gè)重復(fù)觸發(fā),冒泡過程。對(duì)應(yīng)的移除事件是mouseout
mouseenter
:當(dāng)鼠標(biāo)移入元素本身(不包含元素的子元素)會(huì)觸發(fā)事件,也就是不會(huì)冒泡。對(duì)應(yīng)的移除事件是mouseleave
- 通過圖片進(jìn)行分析 冒泡 情況
- hover 事件調(diào)用順序
mouseover
-> mouseenter
-> mousemove(hover進(jìn)去之后移動(dòng)會(huì)觸發(fā))
-> mouseout
-> mouseleave
案例
案例效果
案例代碼
<template> <div class="hover-view" @mouseover="mouseover" @mouseenter="mouseenter" @mousemove="mousemove" @mouseout="mouseout" @mouseleave="mouseleave" @mousedown="mousedown" @mouseup="mouseup" > </div> </template> <script> export default { methods: { // 1、進(jìn)入元素 mouseover () { console.log('mouseover') }, // 2、進(jìn)入元素 mouseenter () { console.log('mouseenter') }, // 3、移動(dòng) mousemove () { console.log('mousemove') }, // 4、離開元素 mouseout () { console.log('mouseout') }, // 5、離開元素 mouseleave () { console.log('mouseleave') }, // 6、鼠標(biāo)在元素上 按下 mousedown () { console.log('mousedown') }, // 7、鼠標(biāo)在元素上 抬起 mouseup () { console.log('mouseup') } } } </script> <style> .hover-view { width: 100px; height: 100px; background-color: red; } </style>
Vue hover的兩個(gè)小技巧
第一個(gè)小技巧:導(dǎo)航欄的hover效果,一直存在
先使用this.$route.path獲取當(dāng)前路徑,進(jìn)行判斷
第二個(gè)小技巧:鼠標(biāo)移入移出效果
hoverIndex不能為0,因?yàn)榈谝粋€(gè)li的索引是0。也不能大于0
當(dāng)鼠標(biāo)移入的時(shí)候index === hoverIndex,當(dāng)鼠標(biāo)移出的時(shí)候把hoverIndex設(shè)置為-1就可以了
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue使用vue-cli創(chuàng)建項(xiàng)目
這篇文章主要介紹了Vue使用vue-cli創(chuàng)建項(xiàng)目,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09關(guān)于vue3?解決getCurrentInstance?打包后線上環(huán)境報(bào)錯(cuò)問題
這篇文章主要介紹了vue3?解決getCurrentInstance?打包后線上環(huán)境報(bào)錯(cuò)問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05vue和react等項(xiàng)目中更簡單的實(shí)現(xiàn)展開收起更多等效果示例
這篇文章主要介紹了vue和react等項(xiàng)目中更簡單的實(shí)現(xiàn)展開收起更多等效果示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02vue2實(shí)現(xiàn)移動(dòng)端上傳、預(yù)覽、壓縮圖片解決拍照旋轉(zhuǎn)問題
這篇文章主要介紹了vue2實(shí)現(xiàn)移動(dòng)端上傳、預(yù)覽、壓縮圖片解決拍照旋轉(zhuǎn)問題,需要的朋友可以參考下2017-04-04vue3中g(shù)etCurrentInstance獲取組件實(shí)例踩坑詳細(xì)記錄
getCurrentInstance()是Vue.js3?Composition?API中的一個(gè)函數(shù),它的作用是獲取當(dāng)前組件的實(shí)例對(duì)象,下面這篇文章主要給大家介紹了關(guān)于vue3中g(shù)etCurrentInstance獲取組件踩坑的相關(guān)資料,需要的朋友可以參考下2024-02-02詳解Vue2和Vue3的區(qū)別以及其鉤子函數(shù)的使用
Vue.js?3?和?Vue.js?2?是兩個(gè)主要版本的流行前端框架,它們之間有很多區(qū)別,包括性能優(yōu)化、新特性和改進(jìn)的API等,下面就跟隨小編一起來看看他們的使用區(qū)別吧2024-01-01解決vue路由發(fā)生了跳轉(zhuǎn)但是界面沒有任何反應(yīng)問題
這篇文章主要介紹了解決vue路由發(fā)生了跳轉(zhuǎn)但是界面沒有任何反應(yīng)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04一文詳解Vue3的watch是如何實(shí)現(xiàn)監(jiān)聽的
watch這個(gè)API大家都很熟悉,今天這篇文章小編來帶你搞清楚Vue3的watch是如何實(shí)現(xiàn)對(duì)響應(yīng)式數(shù)據(jù)進(jìn)行監(jiān)聽的,希望對(duì)大家有一定的幫助2024-11-11