`

可移动弹出层

 
阅读更多
<!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可移动弹出层

    "漂亮的js可移动弹出层"是利用JavaScript和jQuery技术实现的一种增强用户体验的交互设计。这种弹出层不仅美观,而且具有可移动性,允许用户根据需要自由调整其在屏幕上的位置。 JavaScript,简称JS,是一种轻量级的...

    js实现漂亮的可移动弹出层

    js实现的漂亮的可移动弹出

    jQuery弹出层 可移动层 提示框 浮动层

    通过查看这些文件,我们可以更具体地了解实现细节,如如何触发弹出层、如何处理用户交互、如何更新和移动弹出层的位置等。 在实际应用中,我们可以利用jQuery的插件如`layer.js`或`dialog`来快速实现弹出层功能。...

    jquery 弹出层跟随鼠标移动

    "jquery 弹出层跟随鼠标移动"这一主题涉及到jQuery的事件监听、动态创建元素以及CSS定位技术。下面将详细讲解这些知识点。 1. **jQuery 事件监听**: jQuery 提供了方便的事件绑定方法,如 `.on()`,用于监听用户...

    20种弹出层,弹窗 jQuery+CSS3 多功能弹出层插件v2.0.1

    在Web开发中,弹出层(也称为对话框或模态窗口)是不可或缺的元素,它们用于显示重要的信息、提示用户确认操作或者提供交互式内容。本文将深入探讨一款名为“20种弹出层”的jQuery+CSS3多功能弹出层插件v2.0.1,它以...

    bootstrap可拖拽弹出层

    4. **拖拽功能**:实现拖拽逻辑,通常通过计算鼠标移动距离并更新弹出层的位置来实现。 5. **API接口**:提供显示、隐藏、销毁等方法,便于在代码中控制弹出层的状态。 为了使弹出层可扩展,开发者可能还提供了插件...

    js弹出层居中可移动

    ### JS弹出层居中可移动技术解析 #### 一、引言 在网页开发过程中,弹出层(Modal)是一种常见的交互设计模式,用于在当前页面上展示额外的信息或功能,而无需重新加载页面。其中,弹出层能够居中显示并且可以被...

    jQuery点击事件遮罩弹出层可移动特效代码.zip

    "jQuery点击事件遮罩弹出层可移动特效代码下载。一款jquery弹出层插件制作注册表单点击按钮弹出层表单提交效果,可支持拖到的jQuery弹出层效果。标题、高度、宽度等可以自定义弹出层js插件。

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

    当用户按下鼠标并在弹出层上移动时,计算偏移量并相应地更新弹出层的位置。 4. **显示和隐藏**:编写函数以控制弹出层和遮罩层的显示和隐藏。这可能涉及改变元素的CSS属性,如`display`或`visibility`。 5. **交互...

    js弹出窗口、弹出层

    6. **交互性**:支持键盘操作,如Esc键关闭弹出层,以及焦点管理,确保表单元素可访问。 7. **响应式设计**:适应不同设备和屏幕尺寸,保证在移动设备上的良好显示。 实现弹出层的JavaScript库有很多,比如jQuery ...

    弹出层拖动DEMO

    在这个“弹出层拖动DEMO”中,我们关注的是如何实现弹出层的拖动功能,使得用户可以通过鼠标轻松移动弹出层到屏幕上的任何位置,提供更灵活的用户体验。 拖动功能在网页设计中是通过JavaScript或者其库,如jQuery,...

    可拖拽移动漂亮的zDialog弹出层代码

    "zDialog"是一个专为此目的设计的JavaScript库,它允许开发者创建可自定义、可拖拽移动的美观弹出层。在本篇文章中,我们将深入探讨zDialog的核心功能、应用场景以及如何使用它来提升用户体验。 1. **zDialog核心...

    js弹出层table运用

    本话题将深入探讨如何利用JS实现一个可移动的弹出层,并在其中嵌入表格功能。 首先,我们来理解“弹出层”。弹出层通常是通过JavaScript动态创建的DOM元素,比如`&lt;div&gt;`,然后通过CSS设置其位置、透明度和可见性。...

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

    本案例中的“可拖动的弹出层提示效果”是一个利用JavaScript(JS)实现的功能,它允许用户通过鼠标拖动来改变弹出层的位置,提升用户体验。这一技术在网页应用、移动应用以及桌面应用中都有广泛应用。 “JS特效-...

    jquery弹出层插件

    总结,jQuery弹出层插件为开发者提供了一种快速构建响应式、可自定义弹出层的工具,它的易用性和灵活性使其在网页和移动应用开发中极具价值。理解其工作原理和使用方法,将有助于我们更高效地利用这一资源,提升项目...

    可自定义js弹出层动画特效.zip

    4. **弹窗漂浮**:标签中的"JS特效-弹窗漂浮"可能意味着这个弹出层不仅局限于页面某一固定位置,还可以在整个页面上自由移动,保持与用户的鼠标位置同步,提高交互性。 从压缩包内的文件"123"来看,虽然没有提供...

    一个简单好用的弹出层

    5. **响应式设计**:在移动设备上,弹出层需要适应不同的屏幕尺寸,确保内容可读且操作方便。 6. **事件处理**:开发者可以监听弹出层的显示和关闭事件,进行相应的业务逻辑处理。 7. **最佳实践**:避免过度使用...

    jquery弹出层鼠标点击弹出层可浮动在屏幕滚动

    `使弹出层固定在屏幕某个位置,即使页面滚动也不会移动。 3. **jQuery事件绑定**:使用`$(document).ready()`确保DOM加载完成后执行代码。在需要触发弹出层的元素(如文字或图片)上绑定`click`事件监听器。例如,`...

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

    实现弹出层的可拖动功能,我们需要监听鼠标事件,如`mousedown`(鼠标按下)、`mousemove`(鼠标移动)和`mouseup`(鼠标释放)。在`mousedown`事件中,我们记录下鼠标点击时的位置和弹出层的位置。在`mousemove`...

    简单的几种弹出层

    2. **非模态弹出层(Non-Modal Dialogs)**:非模态弹出层不会阻止用户与页面其他部分的交互,它们更像是浮动窗口,可以自由移动,适用于展示额外信息或工具提示。 3. **提示框(Tooltips)**:简短地显示鼠标悬停...

Global site tag (gtag.js) - Google Analytics