<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>可拖动全屏弹出层</title>
<script language="javascript">
function alertWin(title, msg, w, h) {
var titleheight = "22px"; // 提示窗口标题高度
var bordercolor = "#666699"; // 提示窗口的边框颜色
var titlecolor = "#FFFFFF"; // 提示窗口的标题颜色
var titlebgcolor = "#666699"; // 提示窗口的标题背景色
var bgcolor = "#FFFFFF"; // 提示内容的背景色
var iWidth = document.body.clientWidth;
var iHeight = document.body.clientHeight;
//弹出层的后背景
var bgObj = document.createElement("div");
bgObj.id = "bgObjId";
bgObj.style.cssText = "position:absolute;left:0px;top:0px;width:" + iWidth + "px;height:" + Math.max(document.body.clientHeight, iHeight) + "px;filter:Alpha(Opacity=30);opacity:0.3;background-color:#000000;z-index:101;";
document.body.appendChild(bgObj);
//弹出层
var msgObj = document.createElement("div");
msgObj.id = "msgObjId";
msgObj.style.cssText = "position:absolute;font:11px '\u5b8b\u4f53';top:" + (iHeight - h) / 2 + "px;left:" + (iWidth - w) / 2 + "px;width:" + w + "px;height:" + h + "px;text-align:center;border:1px solid " + bordercolor + ";background-color:" + bgcolor + ";padding:1px;line-height:22px;z-index:102;";
document.body.appendChild(msgObj);
//弹出层里面的表格 msgObj.appendChild(table);
var table = document.createElement("table");
msgObj.appendChild(table);
table.style.cssText = "margin:0px;border:0px;padding:0px;";
table.cellSpacing = 0;
var tr = table.insertRow(-1);
var titleBar = tr.insertCell(-1);
titleBar.style.cssText = "width:100%;height:" + titleheight + "px;text-align:left;padding:3px;margin:0px;font:bold 13px '\u5b8b\u4f53';color:" + titlecolor + ";border:1px solid " + bordercolor + ";cursor:move;background-color:" + titlebgcolor;
titleBar.style.paddingLeft = "10px";
titleBar.innerHTML = title;
//关闭
var closeBtn = tr.insertCell(-1);
closeBtn.style.cssText = "cursor:pointer; padding:2px;background-color:" + titlebgcolor;
closeBtn.innerHTML = "<span style='font-size:15pt; color:" + titlecolor + ";'>\xd7</span>";
closeBtn.onclick = function () {
document.body.removeChild(bgObj);
document.body.removeChild(msgObj);
};
//主题内容
var msgBox = table.insertRow(-1).insertCell(-1);
msgBox.style.cssText = "font:10pt '\u5b8b\u4f53';";
msgBox.colSpan = 2;
msgBox.innerHTML = msg;
//以下部分弹出层可以移动
var moveX = 0;
var moveY = 0;
var moveTop = 0;
var moveLeft = 0;
var moveable = false;
var docMouseMoveEvent = document.onmousemove;
var docMouseUpEvent = document.onmouseup;
titleBar.onmousedown = function () {
var evt = getEvent();
moveable = true;
moveX = evt.clientX;
moveY = evt.clientY;
moveTop = parseInt(msgObj.style.top);
moveLeft = parseInt(msgObj.style.left);
document.onmousemove = function () {
if (moveable) {
var evt = getEvent();
var x = moveLeft + evt.clientX - moveX;
var y = moveTop + evt.clientY - moveY;
if (x > 0 && (x + w < iWidth) && y > 0 && (y + h < iHeight)) {
msgObj.style.left = x + "px";
msgObj.style.top = y + "px";
}
}
};
document.onmouseup = function () {
if (moveable) {
document.onmousemove = docMouseMoveEvent;
document.onmouseup = docMouseUpEvent;
moveable = false;
moveX = 0;
moveY = 0;
moveTop = 0;
moveLeft = 0;
}
};
};
function getEvent() {
return window.event || arguments.callee.caller.arguments[0];
}
}
</script>
</head>
<body>
<input type="button" value="点这里"
onclick="alertWin('标题','这里是内容',300,200);" />
</body>
</html>
分享到:
相关推荐
"漂亮的js可移动弹出层"是利用JavaScript和jQuery技术实现的一种增强用户体验的交互设计。这种弹出层不仅美观,而且具有可移动性,允许用户根据需要自由调整其在屏幕上的位置。 JavaScript,简称JS,是一种轻量级的...
js实现的漂亮的可移动弹出
通过查看这些文件,我们可以更具体地了解实现细节,如如何触发弹出层、如何处理用户交互、如何更新和移动弹出层的位置等。 在实际应用中,我们可以利用jQuery的插件如`layer.js`或`dialog`来快速实现弹出层功能。...
"jquery 弹出层跟随鼠标移动"这一主题涉及到jQuery的事件监听、动态创建元素以及CSS定位技术。下面将详细讲解这些知识点。 1. **jQuery 事件监听**: jQuery 提供了方便的事件绑定方法,如 `.on()`,用于监听用户...
在Web开发中,弹出层(也称为对话框或模态窗口)是不可或缺的元素,它们用于显示重要的信息、提示用户确认操作或者提供交互式内容。本文将深入探讨一款名为“20种弹出层”的jQuery+CSS3多功能弹出层插件v2.0.1,它以...
4. **拖拽功能**:实现拖拽逻辑,通常通过计算鼠标移动距离并更新弹出层的位置来实现。 5. **API接口**:提供显示、隐藏、销毁等方法,便于在代码中控制弹出层的状态。 为了使弹出层可扩展,开发者可能还提供了插件...
### JS弹出层居中可移动技术解析 #### 一、引言 在网页开发过程中,弹出层(Modal)是一种常见的交互设计模式,用于在当前页面上展示额外的信息或功能,而无需重新加载页面。其中,弹出层能够居中显示并且可以被...
"jQuery点击事件遮罩弹出层可移动特效代码下载。一款jquery弹出层插件制作注册表单点击按钮弹出层表单提交效果,可支持拖到的jQuery弹出层效果。标题、高度、宽度等可以自定义弹出层js插件。
当用户按下鼠标并在弹出层上移动时,计算偏移量并相应地更新弹出层的位置。 4. **显示和隐藏**:编写函数以控制弹出层和遮罩层的显示和隐藏。这可能涉及改变元素的CSS属性,如`display`或`visibility`。 5. **交互...
6. **交互性**:支持键盘操作,如Esc键关闭弹出层,以及焦点管理,确保表单元素可访问。 7. **响应式设计**:适应不同设备和屏幕尺寸,保证在移动设备上的良好显示。 实现弹出层的JavaScript库有很多,比如jQuery ...
在这个“弹出层拖动DEMO”中,我们关注的是如何实现弹出层的拖动功能,使得用户可以通过鼠标轻松移动弹出层到屏幕上的任何位置,提供更灵活的用户体验。 拖动功能在网页设计中是通过JavaScript或者其库,如jQuery,...
"zDialog"是一个专为此目的设计的JavaScript库,它允许开发者创建可自定义、可拖拽移动的美观弹出层。在本篇文章中,我们将深入探讨zDialog的核心功能、应用场景以及如何使用它来提升用户体验。 1. **zDialog核心...
本话题将深入探讨如何利用JS实现一个可移动的弹出层,并在其中嵌入表格功能。 首先,我们来理解“弹出层”。弹出层通常是通过JavaScript动态创建的DOM元素,比如`<div>`,然后通过CSS设置其位置、透明度和可见性。...
本案例中的“可拖动的弹出层提示效果”是一个利用JavaScript(JS)实现的功能,它允许用户通过鼠标拖动来改变弹出层的位置,提升用户体验。这一技术在网页应用、移动应用以及桌面应用中都有广泛应用。 “JS特效-...
总结,jQuery弹出层插件为开发者提供了一种快速构建响应式、可自定义弹出层的工具,它的易用性和灵活性使其在网页和移动应用开发中极具价值。理解其工作原理和使用方法,将有助于我们更高效地利用这一资源,提升项目...
4. **弹窗漂浮**:标签中的"JS特效-弹窗漂浮"可能意味着这个弹出层不仅局限于页面某一固定位置,还可以在整个页面上自由移动,保持与用户的鼠标位置同步,提高交互性。 从压缩包内的文件"123"来看,虽然没有提供...
5. **响应式设计**:在移动设备上,弹出层需要适应不同的屏幕尺寸,确保内容可读且操作方便。 6. **事件处理**:开发者可以监听弹出层的显示和关闭事件,进行相应的业务逻辑处理。 7. **最佳实践**:避免过度使用...
`使弹出层固定在屏幕某个位置,即使页面滚动也不会移动。 3. **jQuery事件绑定**:使用`$(document).ready()`确保DOM加载完成后执行代码。在需要触发弹出层的元素(如文字或图片)上绑定`click`事件监听器。例如,`...
实现弹出层的可拖动功能,我们需要监听鼠标事件,如`mousedown`(鼠标按下)、`mousemove`(鼠标移动)和`mouseup`(鼠标释放)。在`mousedown`事件中,我们记录下鼠标点击时的位置和弹出层的位置。在`mousemove`...
2. **非模态弹出层(Non-Modal Dialogs)**:非模态弹出层不会阻止用户与页面其他部分的交互,它们更像是浮动窗口,可以自由移动,适用于展示额外信息或工具提示。 3. **提示框(Tooltips)**:简短地显示鼠标悬停...