简单实现js页面切换功能

yizhihongxing

当我们需要在网站页面中实现切换效果,通常需要用到 JavaScript 来实现。下面是实现 js 页面切换功能的完整攻略:

第一步:添加 HTML 结构

首先,在需要实现页面切换的 HTML 页面中,需要添加跳转链接以及对应的容器标签。例如,我们想要实现跳转到“首页”和“关于我们”两个页面,则可以添加如下代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>页面切换示例</title>
  </head>
  <body>
    <nav>
      <ul>
        <li><a href="#home">首页</a></li>
        <li><a href="#about">关于我们</a></li>
      </ul>
    </nav>
    <main>
      <div id="home">
        <h1>欢迎来到首页!</h1>
        <p>这里是我们的网站。</p>
      </div>
      <div id="about" style="display:none;">
        <h1>了解我们</h1>
        <p>我们是谁,我们在做什么。</p>
      </div>
    </main>
  </body>
</html>

在这个示例代码中,我们添加了一个 <nav> 标签,并在其中嵌套了一个 <ul> 和两个 <li> 标签。每个 <li> 标签包含一个 <a> 标签,用于执行页面跳转。我们还添加了一个 <main> 标签作为页面内容的容器,其中包含两个 <div> 标签,分别代表“首页”和“关于我们”两个页面。需要注意的是,我们将“关于我们”页面的 style 属性设置为 display:none;,以便在页面加载时隐藏该页面。

第二步:编写 JavaScript 代码

要实现页面切换功能,我们需要编写一些 JavaScript 代码来控制页面元素的显示和隐藏。具体来说,我们需要实现以下功能:

  1. 监听跳转链接的点击事件。
  2. 获取目标页面的 ID。
  3. 显示目标页面,隐藏其他页面。

下面是一个示例的 JavaScript 代码,实现了以上功能:

// 选择所有跳转链接
var links = document.querySelectorAll('nav ul li a');

// 遍历链接,为每个链接添加点击事件监听器
for (var i = 0; i < links.length; i++) {
  var link = links[i];
  link.addEventListener('click', function(e) {
    e.preventDefault(); // 阻止链接的默认行为
    var target = this.getAttribute('href'); // 获取目标页面 ID
    var pages = document.querySelectorAll('main > div'); // 选择所有页面
    // 遍历所有页面,隐藏非目标页面,显示目标页面
    for (var j = 0; j < pages.length; j++) {
      var page = pages[j];
      if (page.id == target.substr(1)) {
        page.style.display = "block";
      } else {
        page.style.display = "none";
      }
    }
  });
}

通过以上 JavaScript 代码,我们可以实现页面跳转和页面切换的效果。当用户点击跳转链接时,代码会获取目标页面的 ID,并通过遍历所有页面的方式,来隐藏非目标页面,显示目标页面。

示例说明

为了更好地理解实现 js 页面切换功能的过程,以下是两个简单的示例说明。

示例 1:切换图片画廊

在一个网站的画廊页面中,如果需要切换展示的图片,则可以使用实现 js 页面切换功能。具体来说,可以通过在网页上添加跳转链接,以及用 <img> 标签来展示图片的方式来实现。通过 JavaScript 代码的编写,可以实现实时切换展示的图片。例如:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>图片画廊</title>
  </head>
  <body>
    <nav>
      <ul>
        <li><a href="#pic1">照片一</a></li>
        <li><a href="#pic2">照片二</a></li>
        <li><a href="#pic3">照片三</a></li>
      </ul>
    </nav>
    <main>
      <div id="pic1">
        <img src="pic1.jpg" alt="照片一">
      </div>
      <div id="pic2" style="display:none;">
        <img src="pic2.jpg" alt="照片二">
      </div>
      <div id="pic3" style="display:none;">
        <img src="pic3.jpg" alt="照片三">
      </div>
    </main>

    <script>
      // 选择所有跳转链接
      var links = document.querySelectorAll('nav ul li a');

      // 遍历链接,为每个链接添加点击事件监听器
      for (var i = 0; i < links.length; i++) {
        var link = links[i];
        link.addEventListener('click', function(e) {
          e.preventDefault(); // 阻止链接的默认行为
          var target = this.getAttribute('href'); // 获取目标页面 ID
          var pages = document.querySelectorAll('main > div'); // 选择所有页面
          // 遍历所有页面,隐藏非目标页面,显示目标页面
          for (var j = 0; j < pages.length; j++) {
            var page = pages[j];
            if (page.id == target.substr(1)) {
              page.style.display = "block";
            } else {
              page.style.display = "none";
            }
          }
        });
      }
    </script>
  </body>
</html>

通过上面的代码,我们为页面添加了三个展示图片的容器,以及三个跳转链接。当用户点击跳转链接时,JavaScript 代码会实现切换展示图片的效果。

示例 2:实现登录/注册页面切换

在一个网站的登录/注册页面中,如果需要快速切换登录和注册的表单,则可以使用实现 js 页面切换功能。具体来说,可以通过在网页上添加跳转链接,以及用 <form> 标签来展示登录或注册表单的方式来实现。通过 JavaScript 代码的编写,可以实现实时切换展示的表单。例如:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>登录/注册</title>
  </head>
  <body>
    <nav>
      <ul>
        <li><a href="#login">登录</a></li>
        <li><a href="#register">注册</a></li>
      </ul>
    </nav>
    <main>
      <div id="login">
        <form>
          <h2>登录</h2>
          <label for="username">用户名:</label>
          <input type="text" id="username" name="username" required>
          <br>
          <label for="password">密码:</label>
          <input type="password" id="password" name="password" required>
          <br>
          <input type="submit" value="登录">
        </form>
      </div>
      <div id="register" style="display:none;">
        <form>
          <h2>注册</h2>
          <label for="username">用户名:</label>
          <input type="text" id="username" name="username" required>
          <br>
          <label for="password">密码:</label>
          <input type="password" id="password" name="password" required>
          <br>
          <label for="confirm">确认密码:</label>
          <input type="password" id="confirm" name="confirm" required>
          <br>
          <input type="submit" value="注册">
        </form>
      </div>
    </main>

    <script>
      // 选择所有跳转链接
      var links = document.querySelectorAll('nav ul li a');

      // 遍历链接,为每个链接添加点击事件监听器
      for (var i = 0; i < links.length; i++) {
        var link = links[i];
        link.addEventListener('click', function(e) {
          e.preventDefault(); // 阻止链接的默认行为
          var target = this.getAttribute('href'); // 获取目标页面 ID
          var pages = document.querySelectorAll('main > div'); // 选择所有页面
          // 遍历所有页面,隐藏非目标页面,显示目标页面
          for (var j = 0; j < pages.length; j++) {
            var page = pages[j];
            if (page.id == target.substr(1)) {
              page.style.display = "block";
            } else {
              page.style.display = "none";
            }
          }
        });
      }
    </script>
  </body>
</html>

通过上面的代码,我们为页面添加了登录和注册的表单容器,以及两个跳转链接。当用户点击跳转链接时,JavaScript 代码会实现切换登录/注册表单的效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:简单实现js页面切换功能 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • JS封装cavans多种滤镜组件

    JS封装Cavans多种滤镜组件攻略 在本攻略中,我们将讲解如何通过JavaScript来实现对Cavans多种滤镜的封装。主要囊括了以下内容: 需求分析 功能实现 示例代码 需求分析 我们需要实现一个Cavans滤镜的组件,具有以下功能: 支持黑白滤镜效果 支持模糊滤镜效果 支持浮雕滤镜效果 支持自定义滤镜效果 功能实现 1. 创建Canvas对象 var…

    JavaScript 2023年6月10日
    00
  • js 返回时间戳所对应的具体时间

    为了返回时间戳所对应的具体时间,我们可以使用Date()对象及其方法来实现。 下面介绍具体步骤: 1. 获取时间戳 首先需要获取时间戳,时间戳是1970年1月1日 00:00:00 UTC到指定时间的毫秒数。可以通过以下代码获取当前时间戳: const timestamp = new Date().getTime(); 2. 转换时间戳为日期时间格式 使用D…

    JavaScript 2023年5月27日
    00
  • js超时调用setTimeout和间歇调用setInterval实例分析

    JS超时调用setTimeout和间歇调用setInterval实例分析 setTimeout函数 setTimeout函数是JS中的一个高级函数,可以实现代码的延时执行。 语法: setTimeout(function, delay, param1, param2, …) function:必选参数,是需要延时执行的函数或一个字符串经过编译生成的JS代…

    JavaScript 2023年6月10日
    00
  • JS中的数组的sort方法使用示例

    下面是“JS中的数组的sort方法使用示例”的完整攻略。 什么是sort方法 sort方法是JavaScript中数组原型对象的一个方法,可以用来对数组元素进行排序操作。sort方法默认按照字符编码的顺序进行排序。 sort方法基本语法 sort方法的基本语法如下: array.sort([compareFunction]) 其中,array是待排序的数组对…

    JavaScript 2023年5月27日
    00
  • JavaScript使用push方法添加一个元素到数组末尾用法实例

    让我们来解析一下“JavaScript使用push方法添加一个元素到数组末尾用法实例”。 什么是JavaScript的push方法 在JavaScript中,push()方法可以向数组的末尾添加一个或多个元素,并返回该数组的新长度。这个方法的语法是: array.push(item1, item2, …, itemX) 参数: item1, item2,…

    JavaScript 2023年5月27日
    00
  • JS使用new操作符创建对象的方法分析

    下面是“JS使用new操作符创建对象的方法分析”的攻略: 1. 创建对象的方式 JS有多种创建对象的方式,常用的有四种: 使用对象字面量创建对象; 使用构造函数创建对象; 使用Object.create()方法创建对象; 使用class和constructor方法创建对象。 而本题讨论的是第二种方式,使用构造函数创建对象。 2. 构造函数概述 构造函数是JS…

    JavaScript 2023年5月27日
    00
  • 基于JavaScript 声明全局变量的三种方式详解

    当我们需要在JavaScript中定义一个全局变量时,我们可以使用以下三种方式: 1. 在全局作用域下声明变量 第一种方式是直接在全局作用域中声明变量,这样的变量就会成为全局变量。 // 直接在全局作用域中声明变量,成为全局变量 var globalVariable = ‘我是全局变量’; 上述代码中,使用 var 关键字直接声明一个变量 globalVar…

    JavaScript 2023年5月28日
    00
  • 使用data URI scheme在网页中内嵌图片使用介绍

    当我们在网页中使用图片时,通常会通过标签的src属性来引入一个外部的图片文件。不过,我们也可以使用data URI scheme来直接把图片嵌入到HTML代码中,这种方式可以减少HTTP请求的数量,提升页面加载速度。接下来,我将详细讲解如何使用data URI scheme在网页中内嵌图片。 什么是data URI scheme? data URI sche…

    JavaScript 2023年6月1日
    00
合作推广
合作推广
分享本页
返回顶部