`

Js弹出层,可拖拽,可关闭

 
阅读更多



<!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>
<title>弹出层并可拖拽</title>
<style>
html,body{height:100%;overflow:hidden;}
body,div,h2{margin:0;padding:0;}
body{font:12px/1.5 Tahoma;}
center{padding-top:10px;}
button{cursor:pointer;}
#overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;opacity:0.5;filter:alpha(opacity=50);display:none;}
#win{position:absolute;top:50%;left:50%;width:400px;height:200px;background:#fff;border:4px solid #f90;margin:-102px 0 0 -202px;display:none;}
h2{font-size:12px;height:18px;text-align:right;background:#FC0;border-bottom:3px solid #f90;padding:5px;cursor:move;}
h2 span{color:#f90;cursor:pointer;background:#fff;border:1px solid #f90;padding:0 2px;}
</style>
<script>
window.onload = function ()
{
	var oWin = document.getElementById("win");
	var oLay = document.getElementById("overlay");	
	var oBtn = document.getElementsByTagName("button")[0];
	var oClose = document.getElementById("close");
	var oH2 = oWin.getElementsByTagName("h2")[0];
	var bDrag = false;
	var disX = disY = 0;
	oBtn.onclick = function ()
	{
		oLay.style.display = "block";
		oWin.style.display = "block"	
	};
	oClose.onclick = function ()
	{
		oLay.style.display = "none";
		oWin.style.display = "none"
		
	};
	oClose.onmousedown = function (event)
	{
		(event || window.event).cancelBubble = true;
	};
	oH2.onmousedown = function (event)
	{		
		var event = event || window.event;
		bDrag = true;
		disX = event.clientX - oWin.offsetLeft;
		disY = event.clientY - oWin.offsetTop;		
		this.setCapture && this.setCapture();		
		return false
	};
	document.onmousemove = function (event)
	{
		if (!bDrag) return;
		var event = event || window.event;
		var iL = event.clientX - disX;
		var iT = event.clientY - disY;
		var maxL = document.documentElement.clientWidth - oWin.offsetWidth;
		var maxT = document.documentElement.clientHeight - oWin.offsetHeight;		
		iL = iL < 0 ? 0 : iL;
		iL = iL > maxL ? maxL : iL; 		
		iT = iT < 0 ? 0 : iT;
		iT = iT > maxT ? maxT : iT;
		
		oWin.style.marginTop = oWin.style.marginLeft = 0;
		oWin.style.left = iL + "px";
		oWin.style.top = iT + "px";		
		return false
	};
	document.onmouseup = window.onblur = oH2.onlosecapture = function ()
	{
		bDrag = false;				
		oH2.releaseCapture && oH2.releaseCapture();
	};
};
</script>
</head>
<body>
<div id="overlay"></div>
<div id="win"><h2><span id="close">×</span></h2></div>
<center><button>弹出层</button></center>
</body>
</html>
  • 大小: 8.6 KB
分享到:
评论

相关推荐

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

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

    JavaScript弹出层

    JavaScript弹出层是网页开发中常见的一种交互设计,它用于在用户与页面交互时提供额外信息、确认操作或展示复杂内容。Js弹出层库则是专门为此目的设计的JavaScript库,简化了弹出层的创建和管理过程。在这个场景中,...

    原生Js浮动弹出层 可拖动 关闭 最小化.rar

    原生Js浮动弹出层 可拖动 关闭和最小化,用到了几个小图片,分别是标题栏、关闭按钮和最小化按钮,关闭和最小化我给误删了,自己再找个类似的图片覆盖掉吧,弹出层的其它部分都是完全正常的,兼容性也很好,具体效果...

    Js弹出层(支持拖拽,多个弹窗自动切换层级)

    由于没有具体的描述内容,我们主要依据标题来深入讨论JavaScript弹出层的实现原理和相关技术。 **JavaScript弹出层实现** 1. **基本结构**:通常,一个弹出层由HTML元素(如`div`)组成,设置为绝对或固定定位,以...

    jquery弹出层并可拖动

    3. **jQuery实现**:引入jQuery库,然后编写JavaScript代码来控制弹出层的显示和关闭,以及添加拖动功能。这里,我们可以使用jQuery的`mousedown`、`mousemove`和`mouseup`事件来实现拖动。 ```javascript $...

    bootstrap可拖拽弹出层

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

    js弹出层可拖动兼容各大浏览器(20211002200327).pdf

    综上所述,这个示例代码提供了一种实现JavaScript弹出层并实现拖动和跨浏览器兼容性的方法。开发者可以通过这个基础框架,根据实际项目需求进行扩展和定制,比如添加动画效果、自定义关闭按钮、嵌入特定内容等功能。

    js弹出层可拖动兼容各大浏览器[文].pdf

    总结来说,创建一个可拖动且兼容各大浏览器的JavaScript弹出层涉及到了HTML结构、CSS样式、JavaScript事件处理和浏览器兼容性策略。通过精心设计和测试,我们可以为用户提供一致且流畅的用户体验,无论他们使用的是...

    漂亮的js可移动弹出层

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

    弹出层拖动DEMO

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

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

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

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

    jQuery,作为JavaScript库的杰出代表,提供了丰富的API和插件,使得创建可移动、可自定义的弹出层变得轻而易举。本文将深入探讨jQuery弹出层的实现原理,以及如何构建可移动的提示框和浮动层。 首先,我们来理解...

    使用js实现弹出层

    在网页开发中,弹出层(也称为模态窗口或对话框)是一种常见的用户交互设计,用于在不离开当前页面的情况下展示...在实际开发中,还可以根据需求进一步定制弹出层的样式和行为,例如添加拖动功能、自适应屏幕大小等。

    自定义js弹出窗口(弹出层)

    - 编写JavaScript函数处理关闭逻辑,将弹出层的display属性恢复为none。 5. **与jQuery的比较**: - jQuery是一个流行的JavaScript库,简化了DOM操作、事件处理和动画效果。 - 使用jQuery创建弹出窗口更简洁,...

    js漂亮弹出层 对话框

    在本文中,我们将深入探讨JavaScript弹出层的设计原则、实现方法以及一些实用的库和技巧。 首先,JavaScript是一种广泛用于网页动态交互的编程语言,它可以创建交互式的用户界面,包括弹出层。弹出层通常分为两种...

    js弹出层特效点击按钮弹出窗口支持鼠标拖动

    在JavaScript(JS)编程中,弹出层是一种常见的交互设计元素,用于显示额外的信息或功能,而不会离开当前页面。这种技术广泛应用于网页中的警告、确认对话框、模态窗口和自定义信息提示。"js弹出层特效点击按钮弹出...

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

    总的来说,layer.js是一个强大且灵活的JavaScript插件,它通过简单的API调用即可实现可拖动的图片弹出层功能。无论是对于个人开发者还是企业项目,都能有效提升网页的交互性和用户体验。在实际使用中,开发者应结合...

    jquery 弹出层 可拖动 美观且易懂

    在这个“jquery 弹出层 可拖动 美观且易懂”的项目中,我们主要讨论的是如何使用 jQuery 创建一个既可拖动又美观的弹出层,这对于提升用户体验和增强网页交互性非常重要。 首先,弹出层(Modal)通常用于显示重要...

    轻量级JavaScript弹出层示例【优秀源码】

    本文将详细介绍一种轻量级且功能强大的JavaScript弹出层库——easyDialog,以及如何在实际项目中使用它。 首先,easyDialog因其简洁的API和优秀的性能而受到开发者们的喜爱。它提供了丰富的定制选项,包括但不限于...

Global site tag (gtag.js) - Google Analytics