打开弹窗 &l…">
当前位置:首页 > JavaScript

js实现页面弹窗

2026-01-30 22:13:53JavaScript

使用原生JavaScript实现弹窗

创建一个基础的HTML结构,包含触发弹窗的按钮和弹窗内容

<button id="openModal">打开弹窗</button>
<div id="myModal" class="modal">
  <div class="modal-content">
    <span class="close">&times;</span>
    <p>这里是弹窗内容</p>
  </div>
</div>

添加CSS样式控制弹窗显示和隐藏

.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.4);
}

.modal-content {
  background-color: #fefefe;
  margin: 15% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}

.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}

JavaScript控制弹窗逻辑

const modal = document.getElementById("myModal");
const btn = document.getElementById("openModal");
const span = document.getElementsByClassName("close")[0];

btn.onclick = function() {
  modal.style.display = "block";
}

span.onclick = function() {
  modal.style.display = "none";
}

window.onclick = function(event) {
  if (event.target == modal) {
    modal.style.display = "none";
  }
}

使用第三方库实现弹窗(以SweetAlert2为例)

安装SweetAlert2库

npm install sweetalert2

在项目中引入并使用

import Swal from 'sweetalert2'

Swal.fire({
  title: '弹窗标题',
  text: '这里是弹窗内容',
  icon: 'success',
  confirmButtonText: '确定'
})

实现带表单的弹窗

HTML结构

<button id="showForm">显示表单弹窗</button>
<div id="formModal" class="modal">
  <div class="modal-content">
    <span class="close">&times;</span>
    <form id="myForm">
      <input type="text" placeholder="用户名">
      <input type="password" placeholder="密码">
      <button type="submit">提交</button>
    </form>
  </div>
</div>

JavaScript处理表单提交

const formModal = document.getElementById("formModal");
const formBtn = document.getElementById("showForm");
const formClose = formModal.getElementsByClassName("close")[0];
const myForm = document.getElementById("myForm");

formBtn.onclick = function() {
  formModal.style.display = "block";
}

formClose.onclick = function() {
  formModal.style.display = "none";
}

myForm.onsubmit = function(e) {
  e.preventDefault();
  // 处理表单数据
  formModal.style.display = "none";
}

实现动画效果的弹窗

修改CSS添加动画效果

.modal-content {
  animation: modalopen 0.5s;
}

@keyframes modalopen {
  from {opacity: 0; transform: translateY(-50px)}
  to {opacity: 1; transform: translateY(0)}
}

实现全屏弹窗

修改CSS样式

js实现页面弹窗

.modal-content {
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 0;
}

标签: 页面js
分享给朋友:

相关文章

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

h5实现登录页面跳转页面跳转页面跳转页面

h5实现登录页面跳转页面跳转页面跳转页面

实现登录页面跳转的方法 在H5中实现登录页面跳转可以通过多种方式完成,以下是一些常见的方法: 使用JavaScript的window.location方法 通过JavaScript的window.l…

vue实现 页面

vue实现 页面

Vue 实现页面的基本方法 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。以下是实现页面的常见方法: 单文件组件(SFC) 使用 .vue 文件组织页面结构,包含模板、脚…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

h5页面实现扫一扫

h5页面实现扫一扫

调用设备摄像头实现扫描功能 在H5页面中实现扫一扫功能通常需要调用设备的摄像头,并通过JavaScript解析摄像头捕获的图像。以下是几种常见的实现方法: 使用HTML5的getUserMedia…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…