JS弹出层的显示与隐藏示例代码

yizhihongxing

JS弹出层是Web开发中非常常见的一个功能。下面,我们来详细讲解如何实现JS弹出层的显示与隐藏。

1. HTML结构

首先,我们需要进行HTML结构的搭建。以下是一个最基础的HTML结构:

<!--触发弹出层的按钮-->
<button id="showBtn">显示弹出层</button>

<!--弹出层-->
<div id="popup">
  <p>这里是弹出层的内容</p>
  <button id="hideBtn">隐藏</button>
</div>

2. CSS样式

接下来,我们为弹出层添加样式。这里,我们设置弹出层的初始状态为隐藏(display:none),当用户点击按钮后,弹出层才显示出来。

#popup {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 200px;
  background-color: #fff;
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

3. JS实现

最后,我们采用JavaScript来实现弹出层的显示与隐藏。这里,我们为按钮绑定点击事件,在点击按钮时显示弹出层,在点击弹出层上的“隐藏”按钮时隐藏弹出层。

//获取按钮
var showBtn = document.getElementById("showBtn");
var hideBtn = document.getElementById("hideBtn");

//获取弹出层
var popup = document.getElementById("popup");

//显示弹出层
showBtn.onclick = function() {
  popup.style.display = "block";
}

//隐藏弹出层
hideBtn.onclick = function() {
  popup.style.display = "none";
}

通过如上代码,我们即可实现JS弹出层的显示与隐藏功能。具体效果可以参考以下两个示例:

示例1:

<!DOCTYPE html>
<html>
  <head>
    <title>示例1 - JS弹出层的显示与隐藏</title>
    <style type="text/css">
      #popup {
        display: none;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 200px;
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
      }
    </style>
  </head>
  <body>
    <!--触发弹出层的按钮-->
    <button id="showBtn">显示弹出层</button>

    <!--弹出层-->
    <div id="popup">
      <p>这里是弹出层的内容</p>
      <button id="hideBtn">隐藏</button>
    </div>

    <script type="text/javascript">
      //获取按钮
      var showBtn = document.getElementById("showBtn");
      var hideBtn = document.getElementById("hideBtn");

      //获取弹出层
      var popup = document.getElementById("popup");

      //显示弹出层
      showBtn.onclick = function() {
        popup.style.display = "block";
      }

      //隐藏弹出层
      hideBtn.onclick = function() {
        popup.style.display = "none";
      }
    </script>
  </body>
</html>

示例2:

<!DOCTYPE html>
<html>
  <head>
    <title>示例2 - JS弹出层的显示与隐藏</title>
    <style type="text/css">
      .popup {
        display: none;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 300px;
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
      }

      .popup h2 {
        margin-top: 0;
      }
    </style>
  </head>
  <body>
    <ul>
      <li><a href="#popup1" class="popupLink">打开弹出层1</a></li>
      <li><a href="#popup2" class="popupLink">打开弹出层2</a></li>
      <li><a href="#popup3" class="popupLink">打开弹出层3</a></li>
    </ul>

    <div id="popup1" class="popup">
      <h2>弹出层1</h2>
      <p>这里是弹出层的内容</p>
      <button class="hideBtn">隐藏</button>
    </div>

    <div id="popup2" class="popup">
      <h2>弹出层2</h2>
      <p>这里是弹出层的内容</p>
      <button class="hideBtn">隐藏</button>
    </div>

    <div id="popup3" class="popup">
      <h2>弹出层3</h2>
      <p>这里是弹出层的内容</p>
      <button class="hideBtn">隐藏</button>
    </div>

    <script type="text/javascript">
      //获取所有的弹出层链接和弹出层
      var popupLinks = document.querySelectorAll(".popupLink");
      var popups = document.querySelectorAll(".popup");
      var hideBtns = document.querySelectorAll(".hideBtn");

      //为弹出层链接绑定点击事件
      for (var i = 0; i < popupLinks.length; i++) {
        popupLinks[i].onclick = function() {
          var popupId = this.getAttribute("href");
          document.querySelector(popupId).style.display = "block";
          return false;
        }
      }

      //为弹出层的“隐藏”按钮绑定点击事件
      for (var i = 0; i < hideBtns.length; i++) {
        hideBtns[i].onclick = function() {
          this.parentNode.style.display = "none";
        }
      }

      //为除了弹出层以外的其他区域绑定点击事件,当用户点击时隐藏弹出层
      document.onclick = function(e) {
        for (var i = 0; i < popups.length; i++) {
          if (popups[i].style.display === "block" && e.target !== popupLinks[i]) {
            popups[i].style.display = "none";
          }
        }
      }
    </script>
  </body>
</html>

以上就是实现JS弹出层的显示与隐藏的完整攻略。无论是单个弹出层还是多个弹出层,我们都可以通过简单的HTML、CSS和JavaScript代码来实现。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS弹出层的显示与隐藏示例代码 - Python技术站

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

相关文章

  • JS实现普通轮播图特效

    JS实现普通轮播图特效主要包含以下步骤: 利用CSS实现轮播图的基本布局,例如轮播图容器和图片容器的样式设置等。需要注意的是,轮播图容器一般为固定宽度,图片容器需要设置为横向排列并且宽度为轮播图容器的n倍(其中n为图片数量)。 .carousel { width: 600px; /* 容器宽度为600像素 */ overflow: hidden; /* 超出…

    css 2023年6月10日
    00
  • 在 React 中使用 Redux 解决的问题小结

    在React中使用Redux可以解决以下问题: 多个组件需要共享的状态管理 需要管理复杂的组件状态 状态需要可以被时间旅行(Time Travel)调试 以下是使用Redux的完整攻略: 安装 Redux 首先需要在项目中安装Redux,可以使用npm或者yarn。示例命令如下: npm install redux yarn add redux 创建 Red…

    css 2023年6月10日
    00
  • 详解CSS 伪元素及Content 属性

    以下是一份完整的“详解CSS 伪元素及Content 属性 ”的攻略: 详解CSS 伪元素及Content 属性 1. 什么是伪元素? 伪元素是CSS中的一个特殊概念,它可以让开发者选择某特定元素中的某些内容,并为其应用样式。伪元素不是真实的文档树元素,而是CSS选择器中用到的一类关键字,它们可以通过CSS选择器中的 :: 或 : 前缀进行声明。常用的伪元素…

    css 2023年6月10日
    00
  • CSS常用样式之绘制双箭头的示例代码

    下面是关于“CSS常用样式之绘制双箭头的示例代码”的细致讲解,包含了两个示例说明。 1. 思路分析 绘制双箭头需要用到CSS的伪元素:::before 和 ::after,双箭头效果就是将一个箭头嵌套在另一个箭头的里面,通过旋转和透明度调整位置达到叠加的效果。因此,我们需要设计两个箭头,一个外层箭头,一个内层箭头,并且通过CSS动画实现旋转和透明度变化。 2…

    css 2023年6月10日
    00
  • jQuery 源码分析笔记(5) jQuery.support

    下面开始讲解“jQuery 源码分析笔记(5) jQuery.support”的完整攻略。 1. 简介 jQuery.support 是 jQuery 库中一个提供特性检测的方法。它用来检测是否支持一些新特性,以便在代码中做一些相应处理或者兼容性处理。 该方法会在 jQuery 库加载时自动执行,它会将检测结果保存在全局变量 jQuery.support 中…

    css 2023年6月10日
    00
  • 制作主流邮箱能正常显示的HTML邮件的技巧

    制作主流邮箱能正常显示的HTML邮件的技巧攻略: 1. 使用内联样式 邮箱客户端默认会屏蔽邮件中的外联样式表,这将导致你HTML页面中的样式失效。因此,我们需要使用内联样式,将样式直接写入HTML标签中。内联样式可以保证样式在不同邮箱客户端中被正常显示。例如: <p style="color: red;">这是红色文字<…

    css 2023年6月9日
    00
  • 整理关于Bootstrap排版的慕课笔记

    整理关于Bootstrap排版的慕课笔记的完整攻略包括以下步骤: 1. 学习Bootstrap基本排版知识 在整理关于Bootstrap排版的慕课笔记前,我们首先需要熟悉Bootstrap基本排版常识,包括如何使用Bootstrap的网格系统、内外边距、字体、颜色等基本排版元素。可以通过Bootstrap官网的相关文档进行学习和练习。 2. 找到优质的慕课笔…

    css 2023年6月10日
    00
  • js实现感应鼠标图片透明度变化的方法

    实现感应鼠标图片透明度变化的方法可以通过JavaScript来实现。在下面的攻略中,我将介绍如何使用JavaScript实现该功能的两个示例。 示例一:基础效果 以下是如何实现鼠标滑过时图片透明度变化的基础效果的代码: <!DOCTYPE HTML> <html> <head> <meta charset=&quot…

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