首页 web前端 css教程 图文详解鼠标事件CSS:hover和JS:mouseover的区别

图文详解鼠标事件CSS:hover和JS:mouseover的区别

Sep 15, 2018 pm 02:13 PM

在工作中为了使页面更具有吸引力,前端开发人员经常会在页面中加上鼠标移入和移出的效果。鼠标移入移出的设置,一般有两种方法,一种是单纯用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;}
登录后复制

效果图:

hover1.jpghover2.jpg

一个大盒子中含有两个小的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的区别mouse2.jpgmouse3.jpg

左图是鼠标未移入的样式,和上面一样,中间图片是鼠标经过样式,上面一个div的背景颜色变成了粉色,而且内容变成了“鼠标移入”,右图是鼠标移出后的效果,div里面的内容变了。通过两个例子的对比,应该知道hover和mouseover,mouseout之间的区别了吧。

总结:CSS只能改变元素的样式,无法改变元素的内容,如果要改变内容应该使用JavaScript鼠标事件onmouseover和onmouseout。所以只是为了样式效果,用CSS的伪类hover,如果需要动态改变,则选择js的事件。在工作中具体有什么还要看情况,选择适合的方法。希望这个教程对你有用。

以上是图文详解鼠标事件CSS:hover和JS:mouseover的区别的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热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 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

CSS小技巧:利用transition保留hover状态 CSS小技巧:利用transition保留hover状态 Sep 27, 2022 pm 02:01 PM

如何保留 hover 的状态?下面本篇文章给大家介绍一下不借助javascript保留hover状态的方法,希望对大家有所帮助!

体验即飞 携手哈浮X1相机的飞行之旅 体验即飞 携手哈浮X1相机的飞行之旅 Jan 15, 2024 pm 02:21 PM

我们经常能够在网上看到很多精彩的俯视视角的视频,无人机拍出来的画面确实相当震撼,但其实很多人对无人机的认知很有限,例如有些地方限飞为什么还能飞?其实即开即飞的“无人机”才是当前的主流,更值得大多数人选择,今天就给大家带来哈浮飞行相机X1的上手体验。外观方面,哈浮飞行相机X1,首创折叠设计,整机仅125g,比手机轻,折叠后可以轻松手握,放进包包毫无压力。四个软性染叶和安全边框设计,完美保护拍摄安全。染叶创新采用Biobased生物基材,高弹耐用,安全环保;更有全保护边框加持,起飞降落都能贴心保护手

怎么移除css的hover事件 怎么移除css的hover事件 Feb 01, 2023 am 10:06 AM

移除css hover事件的方法:1、;通过“$("a").hover(function(){ alert('mouseover'); }, function(){ alert('mouseout'); })”方法绑定hover事件;2、通过“$('a').off('mouseenter').unbind('mouseleave');”方法取消绑定的hover事件即可。

Vue中如何使用v-on:mouseover监听鼠标移入事件 Vue中如何使用v-on:mouseover监听鼠标移入事件 Jun 11, 2023 pm 05:09 PM

Vue是一款流行的JavaScript框架,它提供了一种简单、灵活的方式来构建交互式的Web应用程序。Vue的核心理念是“响应式编程”,也就是说,当数据发生变化时,Vue会自动更新视图。在Vue中,接收用户输入事件非常容易,只需要使用v-on指令即可。在本篇文章中,我们将介绍如何使用v-on:mouseover监听鼠标移入事件。什么是鼠标

hover为什么是伪元素 hover为什么是伪元素 Oct 09, 2023 pm 05:45 PM

hover不是伪元素,是伪类。伪类用于选择元素的特定状态或行为,而伪元素则用于在元素的特定部分添加样式。因为:hover用于选择元素的特定状态,而不是在元素的特定部分添加样式,使用:hover伪类可以为元素的鼠标悬停状态添加样式,可以通过:hover伪类为链接添加悬停效果,当鼠标悬停在链接上时,链接的颜色、背景色等可以发生变化。

html中的hover的作用 html中的hover的作用 Feb 20, 2024 am 08:58 AM

HTML中的hover的作用及具体代码示例在Web开发中,hover(悬停)是指当用户将光标悬停在一个元素上时,触发一些动作或效果。它是通过CSS的:hover伪类来实现的。在本文中,我们将介绍hover的作用以及具体的代码示例。首先,hover使元素在用户悬停时可以改变其样式。比如,将鼠标悬停在一个按钮上时,可以改变按钮的背景颜色或者文字颜色,以提示用户当

css中hover怎么使用 css中hover怎么使用 Feb 23, 2024 pm 12:06 PM

CSS中的hover伪类是一个非常常用的选择器,它允许我们在鼠标悬停在元素上时改变其样式。本文将为大家介绍hover的用法,并提供具体的代码示例。一、基本用法要使用hover,我们需要先为该元素定义一个样式,然后使用:hover伪类来制定鼠标悬停时对应的样式。例如,我们有一个button元素,当鼠标悬停在按钮上时,我们希望按钮的背景色变为红色,文字颜色变为白

css中hover怎么用 css中hover怎么用 Nov 24, 2023 am 10:32 AM

在CSS中,:hover是一种伪类选择器,用于选择鼠标指针悬停在上面的元素。当用户将鼠标悬停在元素上时,可以使用:hover来应用一些样式变化。

See all articles