js控制div弹出层实现方法

yizhihongxing

"JS控制div弹出层实现方法"有很多种方法,以下是其中一种比较常见的方法:

1. 首先创建一个html文件,并添加CSS样式

CSS样式的作用是设置弹出层的样式和位置,实现以上功能:

.popup {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 20px;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  box-shadow: 0px 0px 5px #cccccc;
  z-index: 1000;
}
.overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 900;
}

这里创建了两个class,即.popup.overlay,分别用来设置弹出层和背景的样式。

2. 在html中添加弹出层的内容和按钮等

下面是html文件的代码,包含了按钮和弹出层内容的设置:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JS 控制 div 弹出层实现方法</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <button id="showPopup">显示弹出层</button>
  <div class="overlay" id="overlay"></div>
  <div class="popup" id="popup">
    <h2>弹出层标题</h2>
    <p>这是弹出层的内容</p>
    <button id="closePopup">关闭弹出层</button>
  </div>

  <script src="script.js"></script>
</body>
</html>

3. 在JS文件中添加事件监听器

下面是js文件的代码:

// 获取按钮和弹出框
var showBtn = document.getElementById("showPopup");
var popup = document.getElementById("popup");
var closeBtn = document.getElementById("closePopup");
var overlay = document.getElementById("overlay");

// 点击"显示弹出层"按钮显示弹出层和背景
showBtn.addEventListener("click", function() {
  popup.style.display = "block";
  overlay.style.display = "block";
});

// 点击"关闭弹出层"按钮关闭弹出层和背景
closeBtn.addEventListener("click", function() {
  popup.style.display = "none";
  overlay.style.display = "none";
});

// 点击背景也会关闭弹出层和背景
overlay.addEventListener("click", function() {
  popup.style.display = "none";
  overlay.style.display = "none";
});

这里使用了事件监听器 addEventListener() 监听 click 事件,并调用 popup.style.displayoverlay.style.display 来控制弹出层和背景的显示和隐藏。实现了点击按钮和背景都可以显示和关闭弹出层的功能。

示例1:js控制div实现仿alert提示框

下面我们可以使用以上方法实现一个仿alert提示框的功能,具体如下代码所示:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JS 控制 div 弹出层实现仿alert提示框</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <button id="showAlert">显示提示框</button>
  <div class="overlay" id="alertOverlay"></div>
  <div class="popup alert" id="alertBox">
    <h2>提示</h2>
    <p id="alertMsg">这是提示框的消息</p>
    <button id="alertOK">确认</button>
  </div>

  <script src="script.js"></script>
  <script>
    document.getElementById("alertOK").addEventListener("click", function() {
      hideAlert();
    });

    function showAlert(msg) {
      document.getElementById("alertMsg").innerHTML = msg;
      document.getElementById("alertBox").style.display = "block";
      document.getElementById("alertOverlay").style.display = "block";
    }

    function hideAlert() {
      document.getElementById("alertBox").style.display = "none";
      document.getElementById("alertOverlay").style.display = "none";
    }
  </script>
</body>
</html>

在js文件中,新增 showAlert()hideAlert() 函数,分别用来显示和隐藏提示框。同时,可以在 showAlert() 函数中动态设置提示框的消息内容。在html文件中,新增了一个 "alert" 的 class,来设置仿alert提示框的特定样式。 示例1的弹出层添加了一个确认按钮,点击该按钮可以关闭提示框,实现了仿alert提示框的功能。

示例2:js控制div实现登录弹出层

另一个例子是用_js控制div实现登录弹出层_。实现方式与以上过程基本相同,可以通过以下代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>JS 控制 div 弹出层实现登录弹出层</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <button id="showLogin">登录</button>
  <div class="overlay" id="loginOverlay"></div>
  <div class="popup login" id="loginBox">
    <h2>用户登录</h2>
    <form>
      <label for="username">用户名:</label>
      <input type="text" id="username" name="username">
      <br>
      <label for="password">密码:</label>
      <input type="password" id="password" name="password">
      <br><br>
      <button type="submit">登录</button>
    </form>
    <button id="closeLogin">取消</button>
  </div>

  <script src="script.js"></script>
  <script>
    document.querySelector("form").addEventListener("submit", function(e) {
      e.preventDefault();
      var username = document.getElementById("username").value;
      alert("欢迎 " + username + " 登录!");
      hideLogin();
    });

    document.getElementById("closeLogin").addEventListener("click", function() {
      hideLogin();
    });

    function showLogin() {
      document.getElementById("loginBox").style.display = "block";
      document.getElementById("loginOverlay").style.display = "block";
    }

    function hideLogin() {
      document.getElementById("loginBox").style.display = "none";
      document.getElementById("loginOverlay").style.display = "none";
    }

    document.getElementById("showLogin").addEventListener("click", function() {
      showLogin();
    });
  </script>
</body>
</html>

在js文件中,新增 showLogin()hideLogin() 函数,分别用来显示和隐藏登录弹出层。同时,通过监听登录表单的 submit 事件实现表单的登录功能。在html文件中,我们通过 form 元素实现了登录表单的样式,并动态设置了 "login" 的 class,来设置登录弹出层的样式。同时添加了一个 "取消" 按钮,来实现登录弹出层的关闭功能。

总结
通过上述两个示例我们可以看出,JS控制DIV弹出层是有多种实现方式的,本文仅提供了其中一种。希望本文对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js控制div弹出层实现方法 - Python技术站

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

相关文章

  • JavaScript架构localStorage特殊场景下二次封装操作

    那么以下是对JavaScript架构localStorage特殊场景下二次封装操作的具体攻略: 什么是localStorage? localStorage 是一种可以在浏览器本地存储数据的 API。它可以通过 key-value 对的形式保存数据,每个 key-value 对都会被浏览器独立存储,并且不受域名和浏览器限制。 为什么需要二次封装操作? loca…

    JavaScript 2023年6月11日
    00
  • 在react中使用mockjs的方法你知道吗

    当我们需要模拟一个后端API接口,来测试前端代码的时候,可以使用mockjs这个库进行模拟数据。下面是在React中使用mockjs的方法: 1. 安装mockjs npm install mockjs –save-dev 2. 创建mock数据 我们可以在src目录下新建一个mock目录,然后在这个目录下再新建一个data.js文件。在这个文件中,就可以…

    JavaScript 2023年6月10日
    00
  • JavaScript通过字典进行字符串翻译转换的方法

    JavaScript通过字典进行字符串翻译转换可以使用对象字典的方式来实现。具体的步骤如下: Step 1 定义字典对象(即键值对对象),其中键为需要翻译的原始字符串,值为对应的翻译后的字符串。例如以下代码: const translationDict = { "hello": "你好", "world&qu…

    JavaScript 2023年5月28日
    00
  • JavaScript获取当前网页最后修改时间的方法

    获取当前网页最后修改时间是一个常见的需求,可以通过JavaScript来实现。下面是一个完整的攻略,包括两条示例说明。 方法一:通过document.lastModified属性获取 每个HTML文档都有一个默认的document对象。document.lastModified属性可以返回当前网页最后修改时间,返回的是一个字符串类型的时间戳。 let las…

    JavaScript 2023年5月27日
    00
  • js读取csv文件并使用json显示出来

    下面是 JS 读取 CSV 文件并使用 JSON 显示的攻略: 1. CSV 文件格式 CSV(Comma Separated Values,逗号分隔值)格式是一种通用的电子表格格式,也是在 Web 开发中常用的数据格式之一。CSV 文件以纯文本方式存储,文件由一行行数据组成,每行数据由多个字段组合而成,字段之间使用逗号(,)分隔。 一个简单的 CSV 文件…

    JavaScript 2023年5月27日
    00
  • C# winform实现登陆次数限制

    让我来详细讲解一下“C# winform实现登陆次数限制”的完整攻略。 问题描述 在C# WinForm项目中,我们希望实现一个登陆次数限制功能。具体来说,如果用户在一定次数内登陆失败,则禁止该用户登陆,直到一定时间后再次尝试登陆。 解决方案 我们可以通过以下步骤来实现登陆次数限制的功能: 1. 创建一个配置文件 我们可以创建一个配置文件,用来保存登陆次数限…

    JavaScript 2023年6月11日
    00
  • js创建数组的简单方法

    当我们需要在JavaScript程序中储存一组数据时,往往会使用数组这种数据结构。那么,如何在JavaScript中创建一个数组呢?接下来,我将为你讲解几种简单易用的方法。 直接使用方括号 [ ] 我们可以直接使用方括号来创建一个数组,数组的每一个元素通过逗号进行分割。 let arr = [1, 2, 3, 4, 5]; console.log(arr);…

    JavaScript 2023年5月27日
    00
  • AngularJS实现ajax请求的方法

    下面就是AngularJS实现ajax请求的方法的完整攻略: 1. 准备工作 在使用AngularJS实现ajax请求之前,我们需要引入AngularJS库文件,并在html文件中定义一个<div>元素作为AngularJS的应用入口,并在该元素上定义ng-app指令。 <!DOCTYPE html> <html ng-app=…

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