亲宝软件园·资讯

展开

js实现菜单跳转效果

KindleYoung 人气:0

想要的效果图:

直接上代码

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .box {
      width: 500px;
      height: 300px;
      /* border: 1px solid #ccc; */
      margin: 50px auto;
    }

    span {
      width: 80px;
      height: 30px;
      border: 1px solid #ccc;
      display: inline-block;
      text-align: center;
      line-height: 30px;
    }

    .body {
      margin-top: 5px;
      width: 450px;
      border: 1px solid #ccc;
      height: 250px;
      background: #eee;
    }

    .current {
      color: red;
      background: #555;
    }

    .body div {
      display: none;
      text-align: center;
      line-height: 250px;
    }

    .body .active {
      display: block
    }
  </style>
</head>

<body>
  <div class="box">
    <div class="header">
      <span class="current">关注</span>
      <span>推荐</span>
      <span>热点</span>
      <span>本地</span>
      <span>段子</span>
    </div>
    <div class="body">
      <div class="active">关注:早上吃什么?</div>
      <div>推荐:中午吃什么?</div>
      <div>热点:晚饭吃什么?</div>
      <div>本地:宵夜吃什么?</div>
      <div>段子:半夜吃什么?</div>
    </div>
  </div>
  <script>
    var oSpan = document.querySelectorAll('span')
    var oDiv = document.querySelector('.body').children
    for (let i = 0; i < oSpan.length; i++) {
      oSpan[i].index = i
      console.log(oSpan[i].index);
      oSpan[i].onclick = function () {
        for (let k = 0; k < oSpan.length; k++) {
          oSpan[k].classList.remove('current')
        }
        this.classList.add('current')
        console.log(oSpan[i].index);

        for (let k = 0; k < oSpan.length; k++) {
          oDiv[k].classList.remove('active')
        }
        oDiv[this.index].classList.add('active')
      }

    }
  </script>
</body>

</html>

加载全部内容

相关教程
猜你喜欢
用户评论