搜尋
首頁web前端css教學圖文詳解滑鼠事件CSS:hover和JS:mouseover的差別

在工作中為了讓頁面更具有吸引力,前端開發人員經常會在頁面中加上滑鼠移入和移出的效果。滑鼠移入移出的設置,一般有兩種方法,一種是單純用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;}

 效果圖:

圖文詳解滑鼠事件CSS:hover和JS:mouseover的差別圖文詳解滑鼠事件CSS:hover和JS:mouseover的差別

一個大盒子裡含有兩個小的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";        
            }

效果圖:

圖文詳解滑鼠事件CSS:hover和JS:mouseover的差別圖文詳解滑鼠事件CSS:hover和JS:mouseover的差別圖文詳解滑鼠事件CSS:hover和JS:mouseover的差別

左圖是滑鼠未移入的樣式,和上面一樣,中間圖片是滑鼠經過樣式,上面一個div的背景顏色變成了粉紅色,而且內容變成了“滑鼠移入”,右圖是滑鼠移出後的效果, div裡面的內容變了。透過兩個例子的對比,應該知道hover和mouseover,mouseout的差別了吧。

總結:CSS只能改變元素的樣式,無法改變元素的內容,如果要改變內容應該使用JavaScript滑鼠事件onmouseover和onmouseout。所以只是為了樣式效果,用CSS的偽類hover,如果需要動態改變,則選擇js的事件。在工作中具體有什麼還要看狀況,選擇適合的方法。希望這個教學對你有用。

以上是圖文詳解滑鼠事件CSS:hover和JS:mouseover的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
滑動頁腳滑動頁腳Apr 09, 2025 am 11:50 AM

剛剛推出了一個引人入勝的新網站。標語:Big Tech正在看著您。我們正在看大型技術。上升的出色工作。這

喜歡的頁面喜歡的頁面Apr 09, 2025 am 11:47 AM

前幾天,我發布了有關在JavaScript中解析RSS提要的內容。我還發布了有關RSS設置的信息,討論了Feedbin的核心。

重新創建Codepen Gutenberg嵌入塊以進行理智。重新創建Codepen Gutenberg嵌入塊以進行理智。Apr 09, 2025 am 11:43 AM

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

如何使用CSS製作線路圖如何使用CSS製作線路圖Apr 09, 2025 am 11:36 AM

線,條和餅圖是儀表板的麵包和黃油,是任何數據可視化工具包的基本組成部分。當然,您可以使用SVG

編程SASS創建可訪問的顏色組合編程SASS創建可訪問的顏色組合Apr 09, 2025 am 11:30 AM

我們一直在尋求使網絡更容易訪問。顏色對比只是數學,因此Sass可以幫助涵蓋設計師可能錯過的邊緣案例。

我們如何創建一個在SVG中生成格子呢模式的靜態站點我們如何創建一個在SVG中生成格子呢模式的靜態站點Apr 09, 2025 am 11:29 AM

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

PHP模板的後續行動PHP模板的後續行動Apr 09, 2025 am 11:14 AM

不久前,我僅以PHP(基本上是Heredoc語法)發布了有關PHP模板的信息。我從字面上使用該技術來進行某種超級基礎

使用Bootstrap組件創建模態圖像庫使用Bootstrap組件創建模態圖像庫Apr 09, 2025 am 11:10 AM

您是否曾經在網頁上單擊圖像,該圖像通過導航打開圖像的較大版本以查看其他照片?

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

MantisBT

MantisBT

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器