如何让弹出窗口可以拖动呢?
如何做出可以拖动的对话框呢?
实际上弹出窗口就是一个div,范例:
<!-- 弹出窗口层 --> <div id="subPagePanel" style="display:none;" > <h2 style="color: #fff;font-weight: bold;" class="ui-icon-close" ><label>发帖</label> <a title="关闭" onclick="closeSubPagePanel();" style="margin-top: 4px;margin-right: 4px; " class="close" ></a> </h2> <div id="subContent" ><!-- <img style="margin:500px;width:50px" src="<%=path%>/static/images/loading/progress.gif"> --> </div> </div> <!-- / 弹出窗口层 -->
对应的css:
#subPagePanel { overflow-y: auto; overflow-x: auto; width: 640px; /* top: 10px !important; */ left: 10px; height: auto/* 320px */; position: absolute; background-color: rgba(255, 255, 255, 0.9); z-index: 99996; background-repeat: no-repeat; background-position: center; display: none; border:1px solid #ea4748; border-radius: 5px; } #subPagePanel h2{ background-color: #ea4748; height: 40px; line-height: 40px; padding-left: 5px; cursor: move; }
js 方法:
drag = function ($obj) { if (arguments.length == 0) { return; } if ($obj == null || $obj == undefined) { return; } if (typeof $obj == 'string') {//when $obj is a string $obj = $($obj); } $obj.on({ mousedown: function (e) { e.preventDefault(); var t = $obj.offset(), o = e.pageX - t.left, i = e.pageY - t.top; $(document).on("mousemove.drag", function (e) { $obj.offset({ top: e.pageY - i, left: e.pageX - o }) }) }, mouseup: function () { $(document).unbind("mousemove.drag") } }); };//drag
在页面加载完时就执行drag操作:
$(function(){ drag("#subPagePanel"); });
看看效果:
今天又进行了优化:
drag = function ($obj, hn) { if (arguments.length == 0) { return; } if ($obj == null || $obj == undefined) { return; } if (typeof $obj == 'string') {//when $obj is a string $obj = $($obj); } var $hn = null; if (arguments.length > 1) { $hn = $obj.find(hn);//div h1,h2... } else { $hn = $obj.find("h2"); } $hn.on({ mousedown: function (e) { e.preventDefault(); var t = $obj.offset(), o = e.pageX - t.left, i = e.pageY - t.top; //$obj.css("position", 'fixed'); $(document).on("mousemove.drag", function (e) { $obj.offset({ top: e.pageY - i, left: e.pageX - o }) }) }, mouseup: function () { $(document).unbind("mousemove.drag"); $obj.css("position", 'fixed'); } }); };//drag
下面的方法是让对话框显示出来:
var ajaxSubPanel=function(url) { $subContent=$("#subContent"); showLoadPanel(server_url_prefix+"static/img/loading/progress.gif"); ajaxHtml(url+"&recordsPerPage=5&random22="+Math.random(),$subContent);//page.js $subPagePanel = $('#subPagePanel'); //$subPagePanel.css("position", 'absolute');//保证下面的语句生效 $subPagePanel.css("top", (/*com.whuang.hsj.getScroll().top+*/10) + "px");//弹出panel兼容滚动条 $cboxOverlay.height($(document).height()); $cboxOverlay.show(); $subPagePanel.show('normal'); $subPagePanel.css("position", 'fixed');//保证固定在可视范围内 };
相关推荐
综上所述,这个项目展示了如何将Bootstrap的弹出窗口功能与jQuery UI的拖放功能相结合,创造出一个既美观又实用的可拖拽弹出窗口。这种技术在需要提供动态交互和个性化布局的网页应用中非常有用,例如在线编辑器、...
3. **拖动和缩放**:用户可以拖动弹出窗或手动调整其大小。 4. **动画效果**:支持多种打开和关闭的动画效果。 5. **事件和回调函数**:提供丰富的事件和回调函数,方便开发者进行交互逻辑控制。 6. **API**:通过...
在Web开发中,弹出窗...综上所述,这个自制的弹出窗组件结合了移动、拖拽、缩放和自适应布局等多种功能,为Web开发者提供了一个强大且灵活的工具,可以轻松集成到各种Web项目中,提高用户界面的互动性和用户体验。
在Web应用中,Div(Division)元素常被用来作为页面布局的容器,而通过JavaScript,我们可以将Div转换为可弹出且可拖动的窗口,以提供更好的用户体验。这个“JS弹出Div窗口(可拖拽)”的示例就是一个解决此类需求的...
在iOS开发中,自定义动画弹出窗是一种常见的交互设计,可以增强用户的操作体验。本文将深入探讨如何在iOS平台上实现这样一个功能,特别是在Swift或Objective-C编程语言中创建视图(View)从屏幕中间弹出的动画效果。...
在IT行业中,"点击弹出小窗口"是一个常见的交互设计技术,主要应用于网页或桌面应用程序,为用户提供一种轻量级的交互方式。这种技术通常涉及到前端开发中的JavaScript、HTML和CSS,以及可能的库和框架如jQuery或Vue...
在这个“Div可拖动窗口,弹出提示消息窗口”的项目中,我们主要关注的是如何利用JavaScript来实现两个关键功能:一是使Div元素具备拖动和大小调整的能力,二是创建一个弹出的提示消息窗口,其效果类似于QQ的屏幕右下...
这段代码示例不仅提供了基本的弹出窗口功能,还包含了拖拽交互的实现,这使得最终的弹出窗口更加用户友好和动态。对于希望在其网站上添加此类功能的开发者来说,这是一个很好的起点。然而,实际应用中可能还需要考虑...
这可能涉及到调整弹出窗的位置、大小,添加拖动功能,或者处理浏览器兼容性问题等。例如,我们可以使用CSS定位让弹出窗居中: ```css #dialog { position: fixed; top: 50%; left: 50%; transform: translate(-...
原生js仿照百度的登录,点击弹出登录窗口,同时可以拖拽,并有兼容性问题的解决
同时,它还提供丰富的回调函数,如打开、关闭、拖动等,使得开发者可以精确地控制弹出窗的生命周期。此外,Layer对移动设备的良好适配,使得在手机和平板等触屏设备上的表现同样出色。 Layer的可扩展性是其另一大...
QML弹出窗口组件,灯箱效果、动画效果,可拖拽 核心思路:一个mask层,一个最顶层,都用rectangle,禁止事件穿透,动画效果 http://www.cnblogs.com/surfsky/p/3998391.html
ymPrompt4.0是一款强大的JavaScript弹出窗口库,专为创建具有拖动功能的层而设计。...通过合理的配置和使用,开发者可以轻松创建出美观、易用且具有拖动功能的弹出层,提高网站的交互性和用户友好性。
在本文中,我们将深入探讨如何利用JavaScript实现一个弹出div窗口,包括支持遮罩、拖动、嵌入页面和换肤等功能。 首先,让我们了解“弹出窗口”或“弹出层”的概念。在网页设计中,弹出窗口通常指的是不依赖浏览器...
"jquery实现弹出登录窗口"这个主题,主要涉及如何利用jQuery创建一个交互式的弹出登录窗口,增强用户体验。下面将详细介绍实现这一功能的关键步骤和相关知识点。 首先,我们需要理解jQuery的基本用法。jQuery通过...
在JavaScript编程领域中,创建可拖拽、最大化、最小化和还原的弹出层窗口是一项常见的需求,尤其在网页交互设计中。这个"js可拖拽最大最小化弹出层窗口.zip"压缩包提供了一个解决方案,它允许用户通过鼠标操作灵活...
在IT领域,尤其是在Web开发中,我们经常遇到各种交互式设计和组件的实现,其中“jQuery弹出层插件点击弹出层可拖动,弹出层为umeditor”就是一个典型的例子。这个功能结合了多个技术,包括jQuery、CSS、iframe以及...
这样,当需要在其他地方使用可拖动的弹出层时,可以直接调用已封装好的组件,避免重复编写相同逻辑的代码。 7. **响应式设计**:考虑到不同设备的屏幕尺寸差异,弹出层窗口还应具备响应式设计,以便在不同分辨率和...
在JavaScript的帮助下,我们可以使这个弹出窗口具备动态行为,如拖动功能。 1. **拖动功能**:为了让弹出的DIV窗口可拖动,开发者通常会监听鼠标的`mousedown`、`mousemove` 和 `mouseup` 事件。当鼠标按下时,记录...
本文将详细探讨“弹出层,可拖动,仿discuz2.x 登录弹出”这一主题,以及相关的技术实现和特点。 首先,弹出层的核心特性是它的可拖动性。这意味着用户可以通过鼠标点击并移动来改变弹出层的位置,提供了更高的交互...