项目笔记8(尚品汇)

本文详细介绍了如何通过CSS和JavaScript为三级联动菜单实现背景颜色的动态变化。CSS主要负责基础样式,而JavaScript则通过事件处理来控制背景色的添加与移除,包括鼠标移入和移出时的处理。此外,还涵盖了二级、三级分类的显示与隐藏技巧。
摘要由CSDN通过智能技术生成

三级联动动态添加背景颜色。

本次实现的是给三级联动添加背景颜色。即如下图般的效果。
在这里插入图片描述

修改css样式实现

首先查阅代码,发现类名为item的div标签控制三级标签的展示。如下图所示。因此如果通过css实现上述功能只需要给item设置hover即可。如下图所示。
在这里插入图片描述
在这里插入图片描述

通过JS实现功能

实现思路

通过js实现功能的思路如下,给每个一级标签绑定一个鼠标进入的事件,当鼠标进入后,获取鼠标所在标签的索引值,通过索引值给标签添加背景。具体实现过程如下
首先定义data中的currentIndex这个数据用来代表鼠标所在位置的索引值。由于刚进入页面不需要给一级标签添加背景色,因此默认currentIndex为-1。接下来设置一个新的cur类(用以改变背景色)。随后为一级标签所在的h3标签添加鼠标进入事件即@mouseenter。当鼠标进入时获取所在标签的索引值,并通过索引判断是否应该添加cur类。在设置完后,此时当鼠标放在一级标签时,背景色就添加完毕了,但是此时鼠标移出背景色还在,因此需要在设置一个鼠标移出事件。
鼠标移出事件较为特殊,为了使用户体验得到更好的提升,通过事件委派让鼠标移出的范围扩大一些。
具体流程为,首先将三级组件所在的div与h2标签同时放入一个新的div盒子中,将鼠标移出事件绑定在这个新盒子中即可。具体代码以及过程图如下所示。

鼠标移入步骤图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

鼠标移出步骤图

在这里插入图片描述
在这里插入图片描述

二三级分类显示与隐藏实现方法

首先展示一下应有的效果
在这里插入图片描述

CSS实现

利用css实现的原理时当鼠标放在一级标题处,二三级标题将默认的display:none改为display:block,如下图所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

JS实现

JS实现只需要动态绑定style样式即可。
如下图所示
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Revin050

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值