弹出层的位置是当前窗口的正中央,而不是页面的正中央,页面高度较大时有用。
样式可以在引用页自行添加。
页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE></TITLE>
<script src="popD.js"></script>
</HEAD>
<BODY>
最底层内容
<div id="main" style="display:none;">
<div id="title" style="width:100%;background-color:red;">title</div>
弹出层<input type="button" value="隐藏" id="hid" onclick="closeD();">
</div>
最底层内容
<input type="button" value="显示" id="show" onclick="popD('main','title',300,200);">
<TABLE style="height:1000px;">
<TR>
<TD></TD>
</TR>
</TABLE>
最底层内容<input type="button" value="显示" id="show" onclick="popD('main','title',300,200);">
</BODY>
</HTML>
popD.js
var mainDiv;
var bgDiv;
function popD(mainId, titleId, w, h) {
mainDiv = document.getElementById(mainId);
var bw = document.body.scrollWidth;
var bh = document.body.scrollHeight;
var ch = document.body.clientHeight;
var top = document.body.scrollTop;
bh = bh < ch ? ch : bh;
bgDiv = document.createElement("div");
document.body.appendChild(bgDiv);
bgDiv.style.width = bw + "px";
bgDiv.style.height = bh + "px";
bgDiv.style.opacity = "0.5";
bgDiv.style.backgroundColor = "#D1EEEE";
bgDiv.style.position = "absolute";
bgDiv.style.left = "0";
bgDiv.style.top = "0";
bgDiv.style.zIndex = "98";
mainDiv.style.display = "";
mainDiv.style.backgroundColor = "green";
mainDiv.style.width = w + "px";
mainDiv.style.height = h + "px";
mainDiv.style.position = "absolute";
mainDiv.style.zIndex = "99";
mainDiv.style.left = (bw - w) / 2 + "px";
mainDiv.style.top = top + (ch - h) / 2 + "px";
mainDiv.style.display = "";
var x0 = 0, y0 = 0, x1 = 0, y1 = 0;
var moveable = false;
var tDiv = document.getElementById(titleId);
tDiv.onmousedown = function () {
tDiv.style.cursor = "move";
if (event.button == 1) {
tDiv.setCapture();
x0 = event.clientX;
y0 = event.clientY;
x1 = parseInt(mainDiv.offsetLeft);
y1 = parseInt(mainDiv.offsetTop);
moveable = true;
}
};
tDiv.onmouseup = function () {
if (moveable) {
tDiv.releaseCapture();
moveable = false;
}
};
tDiv.onmousemove = function () {
if (moveable) {
var x = x1 + event.clientX - x0;
var y = y1 + event.clientY - y0;
if (x + w < bw && x > 0) {
mainDiv.style.left = x;
}
if (y + h < bh && y > 0) {
mainDiv.style.top = y;
}
}
};
}
function closeD() {
bgDiv.style.display = "none";
mainDiv.style.display = "none";
}
分享到:
相关推荐
Bootstrap可拖拽弹出层是一种基于前端框架Bootstrap和jQuery实现的交互式UI组件。这个组件允许用户自定义和拖动弹出窗口,提供了一种非模态(非阻塞)的对话体验,使得用户可以在不关闭当前页面的情况下与弹出层进行...
本文将深入探讨“简单实用的jQuery可拖动弹出层,遮罩层”这一主题,旨在帮助开发者了解如何利用jQuery实现这种功能。 首先,我们来解析标题中的关键词“jQuery可拖动弹出层”。jQuery是一个广泛使用的JavaScript库...
通过以上步骤,我们可以创建一个基本的jQuery可拖拽弹出层。然而,实际项目中可能还需要处理更多细节,如边缘限制(防止拖出屏幕)、拖拽中的透明度变化等。此外,还有许多现成的jQuery插件,如draggable(),可以...
在"JS做的隐藏与显示DIV可拖动弹出层"这个实例中,我们将探讨如何利用JavaScript来创建一个可拖动的弹出层,并控制其显示与隐藏。 首先,让我们理解`div`层的隐藏与显示。在HTML中,我们创建一个`div`元素并为其...
本资源“jquery实现非常实用的可拖动弹出层特效.zip”显然是一个利用jQuery来创建可拖动弹出层效果的代码示例。下面将详细介绍这个主题及其相关知识点。 1. jQuery库基础:jQuery是用JavaScript编写的,它的目标是...
"jquery实现可拖动弹出层特效.zip"中的内容显然是关于使用jQuery来创建一个可拖动的弹出层效果,这是一种常见的用户界面元素,用于显示重要的信息或者进行交互操作。下面我们将深入探讨这个主题。 首先,让我们了解...
2. CSS文件:用于定义弹出层及页面其他元素的样式,包括颜色、布局、位置等,也可能包含了使弹出层可拖动的CSS属性和选择器。 3. JavaScript文件:这是实现可拖动功能的核心部分,可能包含事件监听器(如mousedown、...
"js弹出层可拖动兼容各大浏览器"这个主题涵盖了如何利用JavaScript实现一个弹出窗口,并确保它在各种浏览器(如Chrome、Firefox、Safari、Edge和IE等)上具有良好的兼容性。下面我们将深入探讨这一技术。 首先,...
总之,“弹出层拖动DEMO”是一个关于如何使用JavaScript实现可拖动弹出层的实例,对于学习网页交互设计和JavaScript事件处理的开发者来说,这是一个很好的学习资源。通过实践这个DEMO,你可以掌握弹出层拖动的核心...
标题中的“自己写的jquery 弹出层插件,可拖动”表明这是一个基于jQuery的自定义弹出框插件,具备拖动功能。在Web开发中,弹出层(也称为对话框或模态窗口)常用于显示警告、确认信息或者提供用户交互界面。这个插件...
可拖动图片弹出层插件layer.js.rar 可拖动图片弹出层插件layer.js.rar 可拖动图片弹出层插件layer.js.rar 可拖动图片弹出层插件layer.js.rar 可拖动图片弹出层插件layer.js.rar 可拖动图片弹出层插件layer.js.rar 可...
在提供的压缩包“弹出层并可鼠标拖动”中,包含了实现这一功能的具体文件,你可以通过下载并引入这些文件到你的项目中,直接调用封装好的接口来快速实现弹出层的拖动效果。这大大简化了开发过程,提高了效率。 总结...
本项目聚焦于实现一个兼容IE(Internet Explorer)和FF(Firefox)的可拖动弹出层,这意味着开发者已经考虑到了跨浏览器兼容性问题,这对于处理不同用户使用的不同浏览器时非常重要。 首先,我们需要了解弹出层的...
4. **可拖动弹出层**:用户可以通过鼠标拖动弹出层的位置。这需要监听鼠标的`mousedown`、`mousemove`和`mouseup`事件,计算偏移量,并更新弹出层的CSS位置。 5. **自适应大小**:弹出层内容可能根据数据动态变化,...
在这个项目中,我们讨论的是如何使用这两种语言来创建一个可拖动的弹出层,并实现兼容IE7及以上版本,包括Firefox和Chrome在内的多种浏览器的锁屏效果。这个功能在网页应用中很常见,比如在显示模态对话框或提示信息...
在IT领域,尤其是在Web开发中,我们经常遇到各种交互式设计和组件的实现,其中“jQuery弹出层插件点击弹出层可拖动,弹出层为umeditor”就是一个典型的例子。这个功能结合了多个技术,包括jQuery、CSS、iframe以及...
jQuery LayerModel是一款基于jQuery的弹出层插件,它提供了丰富的功能,包括创建各种类型的弹出窗口,如提示、信息、确认、加载等,并且支持弹出层的拖动效果。在网页交互设计中,弹出层是常用的一种增强用户体验的...
标题中的“缓冲动画效果弹出层...总之,这个示例展示了如何利用JavaScript和CSS实现一个具有缓冲动画效果的可拖动弹出层。开发者可以根据自己的需求调整代码,例如修改动画速度、尺寸、颜色等,以适应不同的应用场景。