js控制div弹出层实现方法

"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中用toString()方法返回时间为字符串

    在JavaScript中,我们可以通过使用toString()方法将时间对象转换为字符串。toString()方法是Date对象原型上定义的方法,其返回一个代表时间的字符串,以本地时间为准。 以下是使用toString()方法返回时间字符串的步骤: 创建一个日期对象 let myDate = new Date(); 调用toString()方法将日期对象转化…

    JavaScript 2023年5月27日
    00
  • 正则表达式进行页面表单验证功能

    正则表达式(Regular Expression)是一种处理字符串的强大工具,它可以用于字符串的匹配、搜索、替换和分割等操作。在网站制作过程中,利用正则表达式可以实现表单验证的功能,保证用户填写的数据符合规范。 以下是正则表达式进行页面表单验证的完整攻略: 确认需要验证的表单项,例如:用户名、密码、邮箱、手机号码等等 编写验证函数,将要验证的表单项和相应的正…

    JavaScript 2023年6月10日
    00
  • JSON.stringify转换JSON时日期时间不准确的解决方法

    当使用JSON.stringify方法将JavaScript对象转换成JSON字符串时,日期时间类型的值会被转换成字符串类型,而且格式并不符合ISO8601标准。例如,使用JSON.stringify方法将new Date()转换成JSON字符串时,会得到如下结果: "2021-05-27T09:57:45.730Z" 其中,日期时间的格…

    JavaScript 2023年5月27日
    00
  • JS操作XML实例总结(加载与解析XML文件、字符串)

    加载与解析XML文件、字符串是JS操作XML的重要部分,本文将为您详细讲解如何完成此操作。 加载XML文件 使用XMLHttpRequest对象,可以向服务器请求XML文件并返回。具体步骤如下: 创建XMLHttpRequest对象 var xhr = new XMLHttpRequest(); 打开XML文件 xhr.open(“GET”, “exampl…

    JavaScript 2023年5月27日
    00
  • JavaScript实现网页带动画返回顶部的方法详解

    JavaScript实现网页带动画返回顶部的方法详解 当我们浏览很长的网页时,我们会发现有时候需要快速回到页面的顶部。通常,我们可以直接点击页面的滚动条或者键盘的 Home 键,但这种方式比较突兀。另外,很多时候我们需要一个能够流畅返回顶部的效果。在这里,我们将详细讲解使用JavaScript实现网页带动画返回顶部的方法。 实现步骤 实现网页带动画返回顶部的…

    JavaScript 2023年6月11日
    00
  • js一维数组、多维数组和对象的混合使用方法

    一、一维数组和对象的混合使用方法 可以在对象中嵌套数组,也可以将数组元素赋值为对象。在JS开发过程中,常常会将获取的数据以数组形式存储,或者将指定的某些数据进行组成字典格式,以方便进行读取。 1.在对象中嵌套数组 在对象中嵌套数组,可以将数据更好的组织起来,一次性获取到所有的数据。 示例代码: let student = { name: "Tom&…

    JavaScript 2023年5月27日
    00
  • 使用JavaScript实现ajax的实例代码

    使用JavaScript实现ajax的攻略分为以下几个步骤: 1. 准备工作 使用ajax需要使用XMLHttpRequest(XHR)对象,该对象是JavaScript中的原生对象,所以无需下载或引入其他插件。在使用前,需要实例化一个XHR对象,方法如下: var xhr = new XMLHttpRequest(); 2. 发送请求 XHR对象通过ope…

    JavaScript 2023年6月11日
    00
  • JS开发自己的类库实例分析

    JS开发自己的类库需要经过以下步骤: 步骤一:确定类库的功能 在开发类库之前,需要确定我们想要实现的功能。这些功能需要与当前市场上主流的类库有一定的区别,也可以是现有类库中不足之处的补充。例如,可以考虑开发一个支持异步请求的类库,或者是在表单验证方面做出针对性的改进。 步骤二:编写代码 确定了功能之后,就可以开始编写代码了。在编写代码的过程中,需要注意以下几…

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