在工作中為了讓頁面更具有吸引力,前端開發人員經常會在頁面中加上滑鼠移入和移出的效果。滑鼠移入移出的設置,一般有兩種方法,一種是單純用CSS中的hover偽類,另一種可以用JS 中的DOM事件,即onmouseover和onmouseout。接下來這篇文章就跟大家講講CSS偽類hover和JS滑鼠事件mouseover的差別,希望可以幫助到你。
JS可以對 HTML 事件做出反應,mouse屬於javascript裡的,他可以觸發js指令,當元素綁定一個事件,事件發生的時候,可以執行一段javascript程式碼。
JavaScript中滑鼠事件有:
onmouseover和onmouseout: 當滑鼠移開和移出時觸發事件
onmousedown和onmouseup: 當滑鼠按鈕被按下或放開時觸發事件
onclick和ondbclick :當滑鼠點擊或雙擊時觸發事件
onmousemover :當滑鼠移動時觸發事件
CSS:hover是css中的一種偽類選擇器,指滑鼠移入然後移出的過程,這個操作可以改變元素的樣式,而且它對應的子類別也被改變。但無法改變元素的內容。例如,滑鼠經過實現彈出視窗的效果,它用的是onmousemove實現的,如果用hover則沒辦法做出這樣的效果。
可能文字描述不是很好理解,接下裡,舉例個例子,看看hover和mouseover,mouseout之間有什麼不同,結合圖片看就一目了然了。
先看看CSS:hover方法實現的效果吧
HTML部分:
<div class="container"> <div class="aa">内容1</div> <div class="bb">内容2</div> </div>
CSS部分:
.container { width: 200px; border: 1px solid #000000; margin: 200px auto; line-height: 100px; text-align: center; } .aa,.bb { height: 100px; margin: 1px; background: #ccc; } .aa:hover{background: pink;}
效果圖:
一個大盒子裡含有兩個小的div,我想讓滑鼠經過上面一個div時,背景顏色變成粉紅色。左圖是滑鼠未移入的效果,右圖是滑鼠經過時的效果。從圖片中可以看出,CSS:hover確實可以達到這個效果。
那接下來,我們來看看JavaScript中的onmouseover和onmouseout又是怎麼實現的。 CSS部分程式碼一樣,只是HTML增加了事件,用到了JavaScript。
HTML部分:
<div class="container"> <div class="aa" onmouseover="over(this)" onmouseout="out(this)">内容1</div> <div class="bb">内容2</div> </div>
JavaScript部分:
function over(obj){ obj.innerHTML = "鼠标移入"; obj.style.background = "pink"; } function out(obj){ obj.innerHTML = "移出了"; obj.style.background = "#ccc"; }
效果圖:
左圖是滑鼠未移入的樣式,和上面一樣,中間圖片是滑鼠經過樣式,上面一個div的背景顏色變成了粉紅色,而且內容變成了“滑鼠移入”,右圖是滑鼠移出後的效果, div裡面的內容變了。透過兩個例子的對比,應該知道hover和mouseover,mouseout的差別了吧。
總結:CSS只能改變元素的樣式,無法改變元素的內容,如果要改變內容應該使用JavaScript滑鼠事件onmouseover和onmouseout。所以只是為了樣式效果,用CSS的偽類hover,如果需要動態改變,則選擇js的事件。在工作中具體有什麼還要看狀況,選擇適合的方法。希望這個教學對你有用。
以上是圖文詳解滑鼠事件CSS:hover和JS:mouseover的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

了解如何通過Chris Coyier實施WordPress的Gutenberg編輯器來創建一個自定義Codepen塊,並為Sanity Studio提供預覽。

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tartanify.com上,我們收集了5,000多個格子呢


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用

Atom編輯器mac版下載
最受歡迎的的開源編輯器