`
shaq34
  • 浏览: 23037 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

可拖动弹出层

阅读更多
弹出层的位置是当前窗口的正中央,而不是页面的正中央,页面高度较大时有用。
样式可以在引用页自行添加。

页面:
<!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";
}


  • div.rar (1.2 KB)
  • 下载次数: 38
分享到:
评论

相关推荐

    bootstrap可拖拽弹出层

    Bootstrap可拖拽弹出层是一种基于前端框架Bootstrap和jQuery实现的交互式UI组件。这个组件允许用户自定义和拖动弹出窗口,提供了一种非模态(非阻塞)的对话体验,使得用户可以在不关闭当前页面的情况下与弹出层进行...

    简单实用的jquery可拖动弹出层,遮罩层

    本文将深入探讨“简单实用的jQuery可拖动弹出层,遮罩层”这一主题,旨在帮助开发者了解如何利用jQuery实现这种功能。 首先,我们来解析标题中的关键词“jQuery可拖动弹出层”。jQuery是一个广泛使用的JavaScript库...

    jQuery 可拖拽弹出层

    通过以上步骤,我们可以创建一个基本的jQuery可拖拽弹出层。然而,实际项目中可能还需要处理更多细节,如边缘限制(防止拖出屏幕)、拖拽中的透明度变化等。此外,还有许多现成的jQuery插件,如draggable(),可以...

    JS做的隐藏与显示DIV可拖动弹出层

    在"JS做的隐藏与显示DIV可拖动弹出层"这个实例中,我们将探讨如何利用JavaScript来创建一个可拖动的弹出层,并控制其显示与隐藏。 首先,让我们理解`div`层的隐藏与显示。在HTML中,我们创建一个`div`元素并为其...

    jquery实现非常实用的可拖动弹出层特效.zip

    本资源“jquery实现非常实用的可拖动弹出层特效.zip”显然是一个利用jQuery来创建可拖动弹出层效果的代码示例。下面将详细介绍这个主题及其相关知识点。 1. jQuery库基础:jQuery是用JavaScript编写的,它的目标是...

    jquery实现可拖动弹出层特效.zip

    "jquery实现可拖动弹出层特效.zip"中的内容显然是关于使用jQuery来创建一个可拖动的弹出层效果,这是一种常见的用户界面元素,用于显示重要的信息或者进行交互操作。下面我们将深入探讨这个主题。 首先,让我们了解...

    可拖动的弹出层提示效果.rar

    2. CSS文件:用于定义弹出层及页面其他元素的样式,包括颜色、布局、位置等,也可能包含了使弹出层可拖动的CSS属性和选择器。 3. JavaScript文件:这是实现可拖动功能的核心部分,可能包含事件监听器(如mousedown、...

    js弹出层可拖动兼容各大浏览器

    "js弹出层可拖动兼容各大浏览器"这个主题涵盖了如何利用JavaScript实现一个弹出窗口,并确保它在各种浏览器(如Chrome、Firefox、Safari、Edge和IE等)上具有良好的兼容性。下面我们将深入探讨这一技术。 首先,...

    弹出层拖动DEMO

    总之,“弹出层拖动DEMO”是一个关于如何使用JavaScript实现可拖动弹出层的实例,对于学习网页交互设计和JavaScript事件处理的开发者来说,这是一个很好的学习资源。通过实践这个DEMO,你可以掌握弹出层拖动的核心...

    自己写的jquery 弹出层插件,可拖动

    标题中的“自己写的jquery 弹出层插件,可拖动”表明这是一个基于jQuery的自定义弹出框插件,具备拖动功能。在Web开发中,弹出层(也称为对话框或模态窗口)常用于显示警告、确认信息或者提供用户交互界面。这个插件...

    可拖动图片弹出层插件layer.js.rar

    可拖动图片弹出层插件layer.js.rar 可拖动图片弹出层插件layer.js.rar 可拖动图片弹出层插件layer.js.rar 可拖动图片弹出层插件layer.js.rar 可拖动图片弹出层插件layer.js.rar 可拖动图片弹出层插件layer.js.rar 可...

    jquery弹出层并可拖动

    在提供的压缩包“弹出层并可鼠标拖动”中,包含了实现这一功能的具体文件,你可以通过下载并引入这些文件到你的项目中,直接调用封装好的接口来快速实现弹出层的拖动效果。这大大简化了开发过程,提高了效率。 总结...

    弹出层,可拖动,IE,FF都支持

    本项目聚焦于实现一个兼容IE(Internet Explorer)和FF(Firefox)的可拖动弹出层,这意味着开发者已经考虑到了跨浏览器兼容性问题,这对于处理不同用户使用的不同浏览器时非常重要。 首先,我们需要了解弹出层的...

    javascript九种自定义弹出层效果

    4. **可拖动弹出层**:用户可以通过鼠标拖动弹出层的位置。这需要监听鼠标的`mousedown`、`mousemove`和`mouseup`事件,计算偏移量,并更新弹出层的CSS位置。 5. **自适应大小**:弹出层内容可能根据数据动态变化,...

    html+js实现可拖动,兼容IE7及以上firefox、谷歌等各版本弹出层并锁屏效果代码

    在这个项目中,我们讨论的是如何使用这两种语言来创建一个可拖动的弹出层,并实现兼容IE7及以上版本,包括Firefox和Chrome在内的多种浏览器的锁屏效果。这个功能在网页应用中很常见,比如在显示模态对话框或提示信息...

    jquery弹出层插件点击弹出层可拖动,弹出层为umeditor

    在IT领域,尤其是在Web开发中,我们经常遇到各种交互式设计和组件的实现,其中“jQuery弹出层插件点击弹出层可拖动,弹出层为umeditor”就是一个典型的例子。这个功能结合了多个技术,包括jQuery、CSS、iframe以及...

    jQuery LayerModel弹出层插件拖动弹出层效果

    jQuery LayerModel是一款基于jQuery的弹出层插件,它提供了丰富的功能,包括创建各种类型的弹出窗口,如提示、信息、确认、加载等,并且支持弹出层的拖动效果。在网页交互设计中,弹出层是常用的一种增强用户体验的...

    缓冲 动画效果弹出层 并且可以拖动

    标题中的“缓冲动画效果弹出层...总之,这个示例展示了如何利用JavaScript和CSS实现一个具有缓冲动画效果的可拖动弹出层。开发者可以根据自己的需求调整代码,例如修改动画速度、尺寸、颜色等,以适应不同的应用场景。

Global site tag (gtag.js) - Google Analytics