首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >页上的节转换

页上的节转换
EN

Stack Overflow用户
提问于 2021-08-02 09:48:31
回答 1查看 83关注 0票数 0

我试图在单个页面应用程序上的各个节之间设置一个转换,它们都在同一个页面上,但其他部分设置为无显示,所以当我执行一个事件时,显示没有被请求的部分切换,现在我不希望该节像这样出现,而是设置一个超时,使进入的部分不会立即出现,但是在像5s之后,我如何才能做到这一点,我已经尝试了settimeout,但它似乎没有工作的问题大纲。

  1. 除一节外,所有区段均无显示,

  1. 事件是在页面上执行的,该页面没有显示none以引入所请求的部分,并切换显示none

  1. 在页面请求时,页面转换为或有超时,因此页面不会立即出现在下面的代码中,即HTML

HTML

代码语言:javascript
复制
<div class="main-container">
       <div class="page padding main" id="page-main">
         <div class="modal hidden">
           <button class="btn-close-modal">&times;</button>
           <h2 class="modal-header">Login to your account</h2>
           <form class="modal-form">
             <div>
               <label for="">Username:</label>
               <input type="text" />
             </div>
             <div>
               <label for="">Password:</label>
               <input type="text" />
             </div>
             <button class="btn header-button">Login &rarr;</button>
           </form>
         </div>
         <div class="overlay hidden"></div>
         <nav class="header-nav">
           <a href="#" class="header-img">
             <svg viewBox="0 0 256 256" class="header-svg">
               <path
                 class="path"
                 d="m 15.625507,46.199537 55.767886,-32.030352 55.623047,32.281229 -0.14485,64.311586 0.14485,-64.311586 55.76788,-32.030352 55.62305,32.281229 -0.14485,64.311579 -55.76788,32.03036 -55.62305,-32.28123 55.62305,32.28123 -0.14485,64.31158 -55.76788,32.03035 L 70.958866,207.10393 71.103708,142.79235 126.87159,110.762 71.103708,142.79235 15.480664,110.51112 Z"
                 style="
                   fill: none;
                   stroke: #000;
                   stroke-width: 13;
                   stroke-linejoin: round;
                   stroke-linecap: round;
                 "
               />
             </svg>
           </a>
           <button
             class="header-button login"
             type="button"
             data-page="page-login"
           >
             LOGIN
           </button>
         </nav>
         <div class="header-hero">
           <div class="circle1"></div>
           <div class="circle2"></div>
           <div class="header-text">
             <h1 class="header-text-description">
               Make Banking Easy with Express
             </h1>
             <p class="header-text-texts">
               Together we can make banking awesome!
             </p>
             <p class="header-text-texts">
               Use our mobile app to your need today
             </p>
             <button class="header-button header-buttons" type="button">
               <a href="">Services</a>
             </button>
           </div>
           <div class="header-image hide-for-desktop">
             <img src="./assets/hand.jpg" alt="" class="header-hand" />
             <button class="header-image-1">Transfer</button>
             <button class="header-image-2">Loan</button>
           </div>

  </div>
       <div class="page u-none" id="page-login">
         <nav>
           <a data-page="page-dashboard">User Settings</a>
           <a data-page="page-main">Logout</a>
         </nav>
         <h1>MAIN PAGE</h1>
         <form action="" name="login" method="" id="form-id" required>
           <label for="name">Name</label>
           <input type="text" id="name" />
           <label for="pin">Pin</label>
           <input type="text" id="pin" />
           <button type="submit" class="submit">Submit</button>
         </form>
       </div>
       <div class="page u-none" id="page-signup">
         <nav>
           <a data-page="page-settings">User Settings</a>
           <a data-page="page-login">Logout</a>
         </nav>
         <h1>MAIN PAGE</h1>
         <form action="" name="login" method="" id="form-id" required>
           <label for="name">Name</label>
           <input type="text" id="name" />
           <label for="pin">Pin</label>
           <input type="text" id="pin" />
           <button type="submit" class="submit">Submit</button>
         </form>
       </div>

       <div class="page u-none" id="page-dashboard">
         <nav>
           <a data-page="page-main">Back to Main</a>
           <a data-page="page-login">Logout</a>
         </nav>
         <h1>SETTINGS PAGE</h1>
       </div>
     </div>

CSS

代码语言:javascript
复制
nav {
      display: flex;
    }
    nav a {
      color: #00f;
      padding: 5px 10px;
      cursor: pointer;
    }
    /* Utility classes */
    .u-none {
      display: none;
      opacity: 0;
      animation: 2s fadeIn forwards;
    }

@keyframes fadeIn {
  100% {
    opacity: 1;
    display: block;
  }
}

Javascript

代码语言:javascript
复制
const ELS_pages = document.querySelectorAll('.page');
const ELS_buttons = document.querySelectorAll('[data-page]');

console.log(ELS_pages);
console.log(ELS_buttons);
const submit = document.querySelector('.submit');
const goToPage = (id) => {
  ELS_pages.forEach((EL, i) => {
    // console.log(EL.id);
    console.log(`${i} : ${EL.id}`);
    console.log(id);
    // EL.classList.toggle("u-none", EL.id !== id);
    setTimeout(() => {
      if (EL.id === id) {
        EL.classList.remove('u-none');
      } else {
        EL.classList.add('u-none');
      }
    }, 20);
  });
};
// goToPage("page-main");
ELS_buttons.forEach((EL) =>
  EL.addEventListener('click', () => {
    goToPage(EL.dataset.page);
  })
);
EN

回答 1

Stack Overflow用户

发布于 2021-08-02 10:08:48

我修正了这个问题,在add和remove分类风格上设置了一个计时器,它与我选择的内容一起工作。代码如下

代码语言:javascript
复制
const goToPage = (id) => {
  ELS_pages.forEach((EL, i) => {
    // console.log(EL.id);
    console.log(`${i} : ${EL.id}`);
    console.log(id);
    // EL.classList.toggle("u-none", EL.id !== id);
    if (EL.id === id) {
      setTimeout(() => {
        EL.classList.remove('u-none');
      }, 2000);
    } else {
      setTimeout(() => {
        EL.classList.add('u-none');
      }, 2000);
    }
  });
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68619487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档