当前位置:首页 > JavaScript

js 实现popup

2026-02-02 04:23:56JavaScript

实现基本的 JavaScript Popup

使用 window.open() 方法创建最简单的弹窗:

const popup = window.open('', 'PopupWindow', 'width=300,height=200');
popup.document.write('<h1>Hello Popup!</h1>');

自定义弹窗样式

通过 DOM 操作创建带样式的弹窗:

const popup = document.createElement('div');
popup.style.position = 'fixed';
popup.style.top = '50%';
popup.style.left = '50%';
popup.style.transform = 'translate(-50%, -50%)';
popup.style.padding = '20px';
popup.style.backgroundColor = 'white';
popup.style.boxShadow = '0 0 10px rgba(0,0,0,0.3)';
popup.innerHTML = '<button id="closeBtn">X</button><p>Custom Popup Content</p>';
document.body.appendChild(popup);

document.getElementById('closeBtn').addEventListener('click', () => {
  document.body.removeChild(popup);
});

带遮罩层的弹窗

实现背景遮罩效果:

const overlay = document.createElement('div');
overlay.style.position = 'fixed';
overlay.style.top = '0';
overlay.style.left = '0';
overlay.style.width = '100%';
overlay.style.height = '100%';
overlay.style.backgroundColor = 'rgba(0,0,0,0.5)';
overlay.style.zIndex = '1000';

const popup = document.createElement('div');
popup.style.position = 'fixed';
popup.style.top = '50%';
popup.style.left = '50%';
popup.style.transform = 'translate(-50%, -50%)';
popup.style.zIndex = '1001';
popup.innerHTML = '<div style="background:white;padding:20px;">Popup Content</div>';

document.body.appendChild(overlay);
document.body.appendChild(popup);

overlay.addEventListener('click', () => {
  document.body.removeChild(overlay);
  document.body.removeChild(popup);
});

使用 CSS 动画的弹窗

添加弹出动画效果:

.popup {
  animation: fadeIn 0.3s ease-out;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translate(-50%, -40%); }
  to { opacity: 1; transform: translate(-50%, -50%); }
}
const popup = document.createElement('div');
popup.className = 'popup';
popup.style.position = 'fixed';
popup.style.top = '50%';
popup.style.left = '50%';
popup.style.transform = 'translate(-50%, -50%)';
popup.innerHTML = 'Animated Popup';
document.body.appendChild(popup);

响应式弹窗

根据屏幕尺寸调整弹窗大小:

function createResponsivePopup() {
  const width = window.innerWidth > 768 ? '50%' : '90%';

  const popup = document.createElement('div');
  popup.style.width = width;
  popup.style.maxWidth = '600px';
  popup.style.margin = '0 auto';
  popup.innerHTML = 'Responsive Popup Content';

  document.body.appendChild(popup);
}

使用第三方库

使用 jQuery UI 实现弹窗:

$('<div>').dialog({
  title: 'jQuery UI Popup',
  width: 350,
  buttons: {
    OK: function() { $(this).dialog('close'); }
  }
});

使用 SweetAlert2 创建美观弹窗:

js 实现popup

Swal.fire({
  title: 'SweetAlert2 Popup',
  text: 'This is a beautiful popup',
  icon: 'success',
  confirmButtonText: 'OK'
});

标签: jspopup
分享给朋友:

相关文章

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url, f…

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式系…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现驼峰

js实现驼峰

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