JS写的对弹出层的拖动功能,虽然不怎么看的懂,先记着吧,以后慢慢看。
1、JSP代码:
<div id="textDiv" align="center" style="background-color:white;border:1px solid #38533c;z-index:102;position:absolute;top:5px; left:20%;display: none;padding-bottom: 5px;"> <div style="height:32px; background:#3877bc;width:400px;cursor:move;"> <span style=float:left;line-height:32px;color:#fff;font-size:13px;text-indent:5px;>文本内容</span> <span style="line-height:32px;float:right;cursor:pointer;"><img src="images/clo.jpg" height=32 width=32 onclick="closeTextDiv()"/></span> </div> <ul class="ztree" style="overflow:auto" > <textarea id="textContent" cols="61" rows="10"> 要显示的内容 </textarea> </ul> </div>
2、JS调用拖动功能:
document.getElementById("textDiv").getElementsByTagName("div")[0].onmousedown=tuodong;
3、拖动JS代码:
var oBox=null; var bDrag = false; var disX = disY = 0; var ptid=""; function tuodong(event){ oBox=this.parentNode; ptid=this.parentNode.id; var event = event || window.event; bDrag = true; disX = event.clientX - oBox.offsetLeft; disY = event.clientY - oBox.offsetTop; } //拖拽开始 document.onmousemove = function (event) { if (!bDrag) return; if(oBox==null) return false; var event = event || window.event; var iL = event.clientX - disX; var iT = event.clientY - disY; var aX = [oBox.offsetLeft]; var aY = [oBox.offsetTop]; var maxL = document.body.clientWidth - oBox.offsetWidth; var maxT = document.body.clientHeight - oBox.offsetHeight; iL = iL < 0 ? 0 : iL; iL = iL > maxL ? maxL : iL; iT = iT < 0 ? 0 : iT; oBox.style.marginTop = oBox.style.marginLeft = 0; oBox.style.left = iL + "px"; oBox.style.top = iT + "px"; aX.push(iL); aY.push(iT); return false }; //鼠标释放, 结束拖拽 document.onmouseup = function () { bDrag = false; };
4、这个弹出层是在鼠标点击的地方弹出的,定位代码来自:
http://yubosun.akhtm.com/tech/js-position-xiangdui-layer.htm
<style type="text/css"> #thelayer{ width:300px;height:98px;border:#E4F5FD 1px solid;z-index:2;position:absolute;background:#FFFFFF;display:none; } </style> <script> function CPos(x, y) { this.x = x; this.y = y; } function GetObjPos(ATarget) { var target = ATarget; var pos = new CPos(target.offsetLeft, target.offsetTop); var target = target.offsetParent; while (target) { pos.x += target.offsetLeft; pos.y += target.offsetTop; target = target.offsetParent } return pos; } function showlayer(obj) { pos = GetObjPos(obj); l = document.getElementById("thelayer"); l.style.left = pos.x + 40; l.style.top = pos.y + 40; l.style.display="block"; } </script> <div onclick="showlayer(this)">点我</div> <div id="thelayer">浮我</div>
相关推荐
Bootstrap可拖拽弹出层是一种基于前端框架Bootstrap和jQuery实现的交互式UI组件。这个组件允许用户自定义和拖动弹出窗口,提供了一种非模态(非阻塞)的对话体验,使得用户可以在不关闭当前页面的情况下与弹出层进行...
"js弹出层可拖动兼容各大浏览器"这个主题涵盖了如何利用JavaScript实现一个弹出窗口,并确保它在各种浏览器(如Chrome、Firefox、Safari、Edge和IE等)上具有良好的兼容性。下面我们将深入探讨这一技术。 首先,...
本文将深入探讨“简单实用的jQuery可拖动弹出层,遮罩层”这一主题,旨在帮助开发者了解如何利用jQuery实现这种功能。 首先,我们来解析标题中的关键词“jQuery可拖动弹出层”。jQuery是一个广泛使用的JavaScript库...
Js弹出层库则是专门为此目的设计的JavaScript库,简化了弹出层的创建和管理过程。在这个场景中,我们关注的是名为"Dialog"的压缩包文件,很可能包含了一个对话框实现的库或者相关的代码示例。 弹出层通常分为几种...
在网页开发中,弹出层(也称为模态窗口或对话框)是一种常见的用户交互设计,用于在不离开当前页面的情况下展示...在实际开发中,还可以根据需求进一步定制弹出层的样式和行为,例如添加拖动功能、自适应屏幕大小等。
可拖动图片弹出层插件layer.js.rar 可拖动图片弹出层插件layer.js.rar 可拖动图片弹出层插件layer.js.rar 可拖动图片弹出层插件layer.js.rar 可拖动图片弹出层插件layer.js.rar 可拖动图片弹出层插件layer.js.rar 可...
"js漂亮弹出层 对话框"着重讨论的是如何利用JavaScript创建美观且功能丰富的弹出对话框。在本文中,我们将深入探讨JavaScript弹出层的设计原则、实现方法以及一些实用的库和技巧。 首先,JavaScript是一种广泛用于...
标题"Js弹出层(支持拖拽,多个弹窗自动切换层级)"提及的核心知识点是JavaScript中的弹出层实现,特别是它包含的两个关键特性:拖拽功能和多层弹窗之间的层级自动切换。这意味着我们要探讨的是如何在JavaScript中...
在"JS做的隐藏与显示DIV可拖动弹出层"这个实例中,我们将探讨如何利用JavaScript来创建一个可拖动的弹出层,并控制其显示与隐藏。 首先,让我们理解`div`层的隐藏与显示。在HTML中,我们创建一个`div`元素并为其...
本案例中的“可拖动的弹出层提示效果”是一个利用JavaScript(JS)实现的功能,它允许用户通过鼠标拖动来改变弹出层的位置,提升用户体验。这一技术在网页应用、移动应用以及桌面应用中都有广泛应用。 “JS特效-...
"漂亮的js可移动弹出层"是利用JavaScript和jQuery技术实现的一种增强用户体验的交互设计。这种弹出层不仅美观,而且具有可移动性,允许用户根据需要自由调整其在屏幕上的位置。 JavaScript,简称JS,是一种轻量级的...
jQuery LayerModel是一款基于jQuery的弹出层插件,它提供了丰富的功能,包括创建各种类型的弹出窗口,如提示、信息、确认、加载等,并且支持弹出层的拖动效果。在网页交互设计中,弹出层是常用的一种增强用户体验的...
通过`<script>`标签引入了一个名为`mask-layer.js`的JavaScript文件,该文件包含了弹出层相关的脚本逻辑。 #### 4. 内联样式与脚本 ```html body { margin: 0 0; } <script type="text/javascript"> // ...
总之,“弹出层拖动DEMO”是一个关于如何使用JavaScript实现可拖动弹出层的实例,对于学习网页交互设计和JavaScript事件处理的开发者来说,这是一个很好的学习资源。通过实践这个DEMO,你可以掌握弹出层拖动的核心...
4. **可拖动弹出层**:用户可以通过鼠标拖动弹出层的位置。这需要监听鼠标的`mousedown`、`mousemove`和`mouseup`事件,计算偏移量,并更新弹出层的CSS位置。 5. **自适应大小**:弹出层内容可能根据数据动态变化,...
在这个"js弹出框-弹出层-拖拽-兼容"的插件中,开发者通过纯JavaScript实现了弹出层的创建、拖拽功能的添加,并优化了代码以适应多种浏览器环境。这个插件的价值在于它不需要依赖jQuery或其他大型库,降低了页面加载...
3. **jQuery实现**:引入jQuery库,然后编写JavaScript代码来控制弹出层的显示和关闭,以及添加拖动功能。这里,我们可以使用jQuery的`mousedown`、`mousemove`和`mouseup`事件来实现拖动。 ```javascript $...
在IT领域,尤其是在Web开发中,我们经常遇到各种交互式设计和组件的实现,其中“jQuery弹出层插件点击弹出层可拖动,弹出层为umeditor”就是一个典型的例子。这个功能结合了多个技术,包括jQuery、CSS、iframe以及...
原生Js浮动弹出层 可拖动 关闭和最小化,用到了几个小图片,分别是标题栏、关闭按钮和最小化按钮,关闭和最小化我给误删了,自己再找个类似的图片覆盖掉吧,弹出层的其它部分都是完全正常的,兼容性也很好,具体效果...
总的来说,layer.js是一个强大且灵活的JavaScript插件,它通过简单的API调用即可实现可拖动的图片弹出层功能。无论是对于个人开发者还是企业项目,都能有效提升网页的交互性和用户体验。在实际使用中,开发者应结合...