zoukankan      html  css  js  c++  java
  • 全屏滚动

    <!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="./main.css" />
      </head>
      <body>
        <nav>
          <div class="nav_item" data-index="0">导航1</div>
          <div class="nav_item" data-index="1">导航2</div>
          <div class="nav_item" data-index="2">导航3</div>
          <div class="nav_item" data-index="3">导航4</div>
          <div class="nav_item" data-index="4">导航5</div>
        </nav>
        <main>
          <div class="content">内容1</div>
          <div class="content">内容2</div>
          <div class="content">内容3</div>
          <div class="content">内容4</div>
          <div class="content">内容5</div>
        </main>
    
        <script>
          let $nav = document.querySelector("nav");
          let $main = document.querySelector("main");
          let currIndex = 0;
          $nav.children[currIndex].classList.add("active");
    
          $nav.addEventListener("click", function (e) {
            this.children[currIndex].classList.remove("active");
            e.target.classList.add("active");
            currIndex = e.target.dataset.index;
    
            // main移动,overflow让body来做
            $main.style.transform = `translateY(-${currIndex * 100}%)`;
          });
        </script>
      </body>
    </html>
    
    html,
    body {
      margin: 0;
      padding: 0;
       100%;
      height: 100%;
      overflow: hidden;
    }
    
    nav {
      position: fixed;
      bottom: 0;
      display: flex;
      align-items: center;
       100%;
      z-index: 2;
    }
    
    .nav_item {
      position: relative;
      flex: 1;
      line-height: 40px;
      text-align: center;
      background-color: #f55;
      font-size: 24px;
      color: #fff;
    }
    
    .nav_item:hover {
      background-color: rgba(85, 85, 255, 0.5);
    }
    
    .nav_item::after {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translate(-50%, -100%);
              transform: translate(-50%, -100%);
      border: 20px solid transparent;
      border-bottom-color: #55f;
      display: none;
    }
    
    .nav_item.active {
      background-color: #55f;
    }
    
    .nav_item.active::after {
      display: inline-block;
    }
    
    main {
      height: 100%;
      transition: all 0.5s;
    }
    
    .content {
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 100px;
    }
    
    
  • 相关阅读:
    函数及执行顺序
    创建动态数组
    C风格字符串
    返回局部变量、局部变量的引用和指向局部变量的指针
    Basic MSI,InstallScript,InstallScript MSI和Inscript Object工程的基本区别
    混合使用标准库类string和C风格字符串
    装软件为何还要重启?软件安装过程全回放
    Installshield在安装结束时刷新系统
    字符和编码
    DLL简介
  • 原文地址:https://www.cnblogs.com/pengnima/p/13111972.html
Copyright © 2011-2022 走看看