javascript弹出拖动窗口


Posted in Javascript onAugust 11, 2015

可以拖动的弹出窗口,在很多网页上都可以见到,非常的人性化,下面通过一段javascript代码就可以实现弹出拖动窗口,废话不多说了,直接贴代码了。

<!DOCTYPE html> 
<html> 
<head> 
<meta charset=" utf-8"> 
<meta name="author" content="https://3water.com/" />
<title>可以拖动的弹出窗口</title> 
<style type="text/css"> 
#popDiv 
{ 
 position:absolute; 
 visibility:hidden; 
 overflow:hidden; 
 border:2px solid #AEBBCA; 
 background-color:#EEF1F8; 
 cursor:move; 
 padding:1px; 
} 
#popTitle 
{ 
 background:#9DACBF; 
 height:20px; 
 line-height:20px; 
 padding:1px; 
} 
#popForm 
{ 
 padding:2px; 
} 
.title_left 
{ 
 font-weight:bold; 
 padding-left:5px; 
 float:left; 
} 
.title_right 
{ 
 float:right; 
} 
#popTitle .title_right a 
{ 
 color:#000; 
 text-decoration:none; 
} 
#popTitle .title_right a:hover 
{ 
 text-decoration:underline; 
 color:#FF0000; 
} 
</style> 
<script> 
function showPopup() //弹出层 
{ 
 var objDiv=document.getElementById("popDiv"); 
 objDiv.style.top="50px";//设置弹出层距离上边界的距离 
 objDiv.style.left="200px";//设置弹出层距离左边界的距离 
 objDiv.style.width="300px";//设置弹出层的宽度 
 objDiv.style.height="200px";//设置弹出层的高度 
 objDiv.style.visibility="visible"; 
} 
function hidePopup()//关闭层 
{ 
 var objDiv=document.getElementById("popDiv"); 
 objDiv.style.visibility="hidden"; 
} 
</script> 
</head> 
<body> 
<div id="popDiv"> 
 <div id="popTitle"> <!-- 标题div -->
 <span class="title_left">修改操作</span> 
 <span class="title_right" onClick="hidePopup()"><a href="#">关闭</a></span> 
 </div> 
 <div id="popForm"></div> 
</div> 
<input name="" type="button" onClick="showPopup()" value="操作" /> 
<script type="text/javascript"> 
var objDiv=document.getElementById("popDiv"); 
var isIE=document.all?true:false;//判断浏览器类型 
document.onmousedown = function(evnt)//当鼠标左键按下后执行此函数 
{ 
 var evnt=evnt?evnt:event; 
 if(evnt.button == (document.all ? 1 : 0)) 
 { 
 mouseD = true;//mouseD为鼠标左键状态标志,为true时表示左键被按下 
 } 
} 
objDiv.onmousedown = function(evnt) 
{ 
 objDrag=this;//objDrag为拖动的对象 
 var evnt=evnt?evnt:event; 
 if(evnt.button == (document.all?1 : 0)) 
 { 
 mx=evnt.clientX; 
 my=evnt.clientY; 
 objDiv.style.left=objDiv.offsetLeft+"px"; 
 objDiv.style.top=objDiv.offsetTop+"px"; 
 if(isIE) 
 { 
  objDiv.setCapture(); 
 } 
 else 
 { 
  window.captureEvents(Event.MOUSEMOVE); 
 } 
 } 
} 
document.onmouseup=function() 
{ 
 mouseD=false; 
 objDrag=""; 
 if(isIE) 
 { 
 objDiv.releaseCapture(); 
 } 
 else 
 { 
 window.releaseEvents(objDiv.MOUSEMOVE); 
 } 
} 
document.onmousemove=function(evnt) 
{ 
 var evnt=evnt?evnt:event; 
 if(mouseD==true&&objDrag) 
 { 
 var mrx=evnt.clientX-mx; 
 var mry=evnt.clientY-my; 
 objDiv.style.left = parseInt(objDiv.style.left) + mrx + "px"; 
 objDiv.style.top = parseInt(objDiv.style.top) + mry + "px"; 
 mx = evnt.clientX; 
 my = evnt.clientY; 
 } 
} 
</script> 
</body> 
</html>

以上是本文实现javascript弹出拖动窗口的全部内容,希望对大家有所帮助。

Javascript 相关文章推荐
利用XMLHTTP传递参数在另一页面执行并刷新本页
Oct 26 Javascript
Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例
Feb 12 Javascript
jquery 实现input输入什么div图层显示什么
Jun 15 Javascript
checkbox选中与未选中判断示例
Aug 04 Javascript
jQuery之DOM对象和jQuery对象的转换与区别分析
Jan 08 Javascript
TypeError document.getElementById(...) is null错误原因
May 18 Javascript
微信小程序 特效菜单抽屉效果实例代码
Jan 11 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
Feb 10 Javascript
ES6中数组array新增方法实例总结
Nov 07 Javascript
微信小程序简单的canvas裁剪图片功能详解
Jul 12 Javascript
快速解决element的autofocus失效问题
Sep 08 Javascript
vue route新窗口跳转页面并且携带与接收参数
Apr 10 Vue.js
jquery.fastLiveFilter.js实现输入自动过滤的方法
Aug 11 #Javascript
javascript实现五星评价代码(源码下载)
Aug 11 #Javascript
jQuery的remove()方法使用详解
Aug 11 #Javascript
jquery实现点击展开列表同时隐藏其他列表
Aug 10 #Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
Aug 10 #Javascript
jQuery右下角旋转环状菜单特效代码
Aug 10 #Javascript
jquery实现滑动特效代码
Aug 10 #Javascript
You might like
使用Apache的rewrite技术
2006/06/22 PHP
一个MYSQL操作类
2006/11/16 PHP
php启用sphinx全文搜索的实现方法
2014/12/24 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
PHP自动生成表单代码分享
2015/06/19 PHP
ThinkPHP框架实现数据增删改
2017/05/07 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
js停止输出代码
2008/07/20 Javascript
用JavaScript隐藏控件的方法
2009/09/21 Javascript
jquery 元素相对定位代码
2010/10/15 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
探究JavaScript中的五种事件处理程序方式
2016/12/07 Javascript
JavaScript原生节点操作小结
2017/01/17 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
详解webpack和webpack-simple中如何引入css文件
2017/06/28 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
Vue代码分割懒加载的实现方法
2017/11/23 Javascript
vue单页开发父子组件传值思路详解
2018/05/18 Javascript
VUE项目中加载已保存的笔记实例方法
2019/09/14 Javascript
layui富文本编辑器前端无法取值的解决方法
2019/09/18 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
2019/12/20 Javascript
[55:25]VGJ.T vs Optic Supermajor小组赛D组 BO3 第三场 6.3
2018/06/04 DOTA
python使用rsa加密算法模块模拟新浪微博登录
2014/01/22 Python
Windows下搭建python开发环境详细步骤
2020/07/20 Python
全面了解Python环境配置及项目建立
2016/06/30 Python
通过Python实现自动填写调查问卷
2017/09/06 Python
Python编程求质数实例代码
2018/01/31 Python
Python之批量创建文件的实例讲解
2018/05/10 Python
python os模块简单应用示例
2019/05/23 Python
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
迪拜领先运动补剂零售品牌中文站:Sporter商城
2019/08/20 全球购物
入党思想汇报
2014/01/05 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
关于调整工作时间的通知
2015/04/24 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server
简单了解 MySQL 中相关的锁
2021/05/25 MySQL