【无标题】

用JS写一个案例代码。当鼠标移入列表其中一个div的时候修改背景变成蓝色,移出时恢复默认颜色。当鼠标点击列表其中一个div的时候修改背景变成蓝色,点击其它的时候,前面点击过的需要恢复初始颜色,当前点击的div背景变蓝色。默认不选中

HTML部分

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>测试盒子</title>
    <link rel="stylesheet" href="/default.css" />
  </head>

  <body>
    <div id="nav">


      <!-- 内容开始 -->
      <div class="wrape">
        <!-- 左边开始 -->
        <div class="left">
          <div class="left_wrape">
            <div class="server">111111</div>
            <div class="server">222222</div>
            <div class="server">333333</div>
            <div class="server">444444</div>
            <div class="server">555555</div>
            <div class="server">666666</div>
            <div class="server">777777</div>
            <div class="server">888888</div>
            <div class="server">999999</div>
            <div class="server">101010</div>
          </div>
        </div>
        <script src="./js/index.js"></script>
        <!-- 左边结束 -->


    </div>
  </body>
</html>

引入外部JS部分

// 获取所有列表项
const items = document.querySelectorAll('.server');
// 循环遍历每个列表项
items.forEach(item => {
    // 添加鼠标点击事件
    item.addEventListener('click', () => {
        // 恢复所有列表项的初始颜色
        items.forEach(item => item.style.backgroundColor = '');
        // 修改当前点击项的背景颜色
        item.style.backgroundColor = 'pink';
    });
});

引入外部CSS

/* 左边开始  */
.left{
    width: 274px;
    height: 652px;
    border: 3px solid red;
    padding-top: 10px;
    /* background-color: aquamarine; */
    /* opacity: .3; */
    float: left;           
}
.left_wrape>div{
    box-sizing: border-box;
    height: 40px;
    margin-bottom: 5px;
    padding-top: 8px;
    text-align: center;
    background-color: #b6b6b6;
}
.left_wrape>.server:hover{
    background-color: beige;
}
.left_wrape>.server.active {
    background-color: blue;
}
/* 左边结束

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值