隔行染色(升级版),触碰变色

本文通过HTML和JavaScript实现了一个列表项隔行不同颜色的效果,并且当鼠标悬停在列表项上时,背景颜色变为天蓝色。通过设置奇偶数索引来控制背景颜色,同时使用`data-color`属性保存原始颜色以便鼠标移出时恢复。此代码实例适用于网页交互设计和前端开发的学习。
摘要由CSDN通过智能技术生成

隔行染色,触碰变色

分析:如上一文章一样,每隔一行颜色就一样,考虑用奇偶数来控制背景颜色,当我鼠标触碰到第二行时,背景颜色变为天蓝色
在这里插入图片描述

<!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>
    ul {
      padding: 0;
      margin: 0;
      list-style: none;
    }

    li {
      width: 800px;
      height: 80px;
      line-height: 80px;
      padding: 0 2em;
    }
  </style>
</head>

<body>
  <ul>
    <li>小猫咪1</li>
    <li>小猫咪2</li>
    <li>小猫咪3</li>
    <li>小猫咪4</li>
    <li>小猫咪5</li>
    <li>小猫咪6</li>
  </ul>
  <script>
    let lis = document.querySelectorAll("li")
    lis.forEach((li, b) => {
      if (b % 2 == 0) {
        li.style.backgroundColor = "pink"
      } else {
        li.style.backgroundColor = "yellow"
      }
      //利用Attribute系列为li标签添加非标准属性data-color,用来存储li原本的颜色
      li.setAttribute("data-color", li.style.backgroundColor)
      //添加鼠标移入事件
      li.onmouseover = () => {
        li.style.backgroundColor = "skyblue"
      }
      //添加鼠标移出事件
      li.onmouseout = () => {
      //把li的背景颜色变回原本的颜色
        li.style.backgroundColor = li.getAttribute("data-color")
       // 用户会多次移入移除,所以来回添加删除会消耗性能,所以以下代码不写
        // li.removeAttribute("data-color")
      }
    });
  </script>
</body>

</html>

对Atrribute系列不懂的留言,可出文章讲解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值