目录

一、css样式实现

二、js实现


一、css样式实现

1.xxx:hover

只能生成css可以控制的样式效果

<style>div:hover{color:red;}
</style>

二、js实现

1.moseover(鼠标悬浮)

1)能修改样式,同时修改DOM中的内容

<script>let sons = document.getElementsByClassName("son");let borderWidth = 4;for (let i = 0; i < sons.length; i++) {sons[i].addEventListener("mouseover", (e) => {console.log("mouseover:", e, e.target.style)e.target.style.borderWidth = borderWidth + i + "px";e.target.innerHTML="mouseover"+i+1;})sons[i].addEventListener("mouseout", (e) => {console.log("mouseout:", e, e.target.style)e.target.style.borderWidth = "none";e.target.innerHTML =  (i + 1)})}</script>

2)优化:事件委派,减少点击事件的注册,减少内存占用

用e.target中的 className 或 tagName 或 id 判断是否时需要更改样式、内容的元素

<script>let parent = document.getElementsByClassName("container");let borderWidth = 8;// 事件委托:只在父元素上注册事件,减少内存占用parent[0].addEventListener("mouseover", (e) => {console.log("e", e, e.target)if (e.target.className == "son") {e.target.style.boxSizing = "border-box"console.log("son:", e.target.className)e.target.style.borderWidth = borderWidth + "px";e.target.style.padding = 20 + "px";e.target.innerHTML = "mouseover" + (borderWidth)}})
</script>

3)完整代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>边框变化不影响布局</title><style>.container {display: flex;flex-wrap: wrap;}.son {height: 400px;width: 300px;background-color: skyblue;margin: 5px;/* border: 3px solid transparent; *//* box-sizing: border-box; */}.son:hover {border: 6px solid #894;}</style>
</head>
<body><div class="container"><div class="son">1</div><div class="son">2</div><div class="son">3</div><div class="son">4</div><div class="son">5</div><div class="son">6</div><div class="son">7</div><div class="son">8</div></div>
</body>
<script>// let sons = document.getElementsByClassName("son");// let borderWidth = 4;// // object// console.log("sonsType:", typeof (sons))// for (let i = 0; i < sons.length; i++) {//     sons[i].addEventListener("mouseover", (e) => {//         e.target.style.boxSizing = "border-box"//         console.log("mouseover:", e, e.target.style)//         e.target.style.borderWidth = borderWidth + i + "px";//         e.target.innerHTML = "mouseover" + (i + 1)//     })//     sons[i].addEventListener("mouseout", (e) => {//         console.log("mouseout:", e, e.target.style)//         e.target.style.borderWidth = "none";//         e.target.innerHTML = (i + 1)//     })// }let parent = document.getElementsByClassName("container");let borderWidth = 8;// 事件委托:只在父元素上注册事件,减少内存占用parent[0].addEventListener("mouseover", (e) => {console.log("e", e, e.target)if (e.target.className == "son") {//加边框不会影响布局e.target.style.boxSizing = "border-box"console.log("son:", e.target.className)e.target.style.borderWidth = borderWidth + "px";e.target.style.padding = 20 + "px";e.target.innerHTML = "mouseover" + (borderWidth)}})
</script></html>

2.mouseout(鼠标移除调用的事件)

同mouseover,不再赘述!

/*

希望对你有帮助!

如有错误,欢迎指正!

非常感谢!

*/

鼠标悬浮效果:css:hover;js:mouseover,mouseout相关推荐

  1. [译] CSS 变量实现炫酷鼠标悬浮效果

    原文: Stunning hover effects with CSS variables 我的博客:[译] CSS 变量实现炫酷鼠标悬浮效果 我最近从Grover网站上的有趣的悬停动画中获得灵感.将 ...

  2. 鼠标悬浮事件 -jQuery hover()方法(layer.js)(layer.tips)

    鼠标悬浮事件 -jQuery hover()方法代码: <!DOCTYPE html> <html lang="en"> <head><m ...

  3. React 入门:实战案例 TodoList Item鼠标悬浮效果

    文章目录 目标实现效果 实现思路 实现步骤 第一步:Item 组件中定义一个 `mouse` 的 state 属性 第二步:定义悬浮事件回调 第三步:绑定事件处理,及悬浮样式控制 完整代码 Item ...

  4. html鼠标悬浮更换图片,Vue.js鼠标悬浮更换图片功能

    最近自己做的项目中设计师要求分类栏中鼠标悬停更换图片,大致实现出来的效果就是这样: 这个在jQuery中是个很简单的事,但是在vue中我还是第一次实现. 首先将所有的选中后图片都覆盖到没选中图片上 c ...

  5. 鼠标悬浮事件 -jQuery hover()方法

    body内容 <div class="title-01"><span class="name">机构账户统计</span>& ...

  6. 鼠标悬浮事件的hover的使用

    鼠标悬浮事件hover的使用 用法1: 表示当鼠标悬浮在a元素上时,a元素的背景颜色变成粉色 .a:hover{background-color: pink;} 用法2: 用a来控制其他元素 用a来控 ...

  7. vue项目中鼠标悬浮图片实现hover效果切换图片-案例

    1.使用css实现鼠标滑动切换图片效果 <ul class="ullist"><li class="img1"><img src= ...

  8. html5页面中鼠标悬停效果,CSS实例:非常不错的鼠标悬停TIP效果!_div+css布局教程...

    在实际开发中,我们会给图片加上alt.给链接加上title,为了出故障预备,也可以提醒用户的内容是什么,或仅仅是tip提示.今天我们介绍一款不错的鼠标悬停TIP效果,图片如下: 这样的效果在实际开发中 ...

  9. 【我的代码】前端遇上After Effects --- 鼠标悬浮效果(上)

    通过AE+PS+CSS3动画 实现炫酷的鼠标hover效果(上)--动画的制作和PNG序列的输出 一.大体思路 大概就是用AE做动画导出帧序列,PS排版成一个长条的图片,然后再在css样式中设置动画. ...

最新文章

  1. 摄像机丢失信号及偏色的检测思路
  2. Java集合—Deque Stack
  3. 剑指offer58 二叉树的下一个结点
  4. bzoj 1058: [ZJOI2007]报表统计(set+multiset)
  5. Android音视频【十二】使用opensles和audiotrack进行播放pcm
  6. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-1.数据信息安全--微信授权一键登录功能介绍...
  7. 一个想法照进现实-《IT连》创业项目:三天的风投对接活动内幕分享
  8. python如何爬取注释的网页_手把手教python爬取漫画(每一步都有注释)
  9. Android SDK 无法连接到GOOGLE 下载安装包
  10. java塞班播放器_coreplayer移动播放器下载塞班版s60v5 v1.42_手机通用播放器
  11. Docker1.1 虚拟化
  12. 三极管发射极偏置原理应用于LED驱动电路的分析
  13. ubuntu文件格式转换
  14. Excel如何批量删除空白表
  15. ant modal 修改样式 style
  16. php xampp教程,XAMPP如何下载及安装
  17. 中药好苦,同义词词典
  18. 百度网盘资源下载加速教学
  19. 02 GitHub的基本使用与踩坑-从零创建项目,第一次的各种提示报错,一铲子填平!
  20. 面试官:你先回去等通知吧!这个 Java 岗位我还有机会吗?

热门文章

  1. STM32F407野火霸天虎系列笔记(四)EXTI
  2. 纯js 别踩白块游戏解析与源码
  3. 使用python简单实现《西游记》文本分析,通过词频对比探索西游记的主角
  4. 全球顶尖AI科研团队!上海人工智能实验室2022届校招火热进行中!
  5. 杭电ACM 2036 改革春风吹满地
  6. 航电ACM [hdu 2036] 改革春风吹满地
  7. 特斯拉充电电流设置多大_特斯拉家用充电桩参数及规格
  8. iview 组件的用法
  9. 六大主流防火墙正确设置技巧(转)
  10. 实用的峰值检测电路实例与分析