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 相关文章推荐
JS 容错处理代码, 屏蔽错误信息
Mar 09 Javascript
firefo xml 读写实现js代码
Jun 11 Javascript
javascript设计模式 封装和信息隐藏(上)
Jul 24 Javascript
JQuery实现点击div以外的位置隐藏该div窗口
Sep 13 Javascript
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)
Oct 01 Javascript
javascript学习笔记(三)BOM和DOM详解
Sep 30 Javascript
javascript中new关键字详解
Dec 14 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
Dec 06 Javascript
Vue 中mixin 的用法详解
Apr 23 Javascript
react-native使用leanclound消息推送的方法
Aug 06 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
Oct 18 Javascript
VUE实时监听元素距离顶部高度的操作
Jul 29 Javascript
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
用Flash图形化数据(二)
2006/10/09 PHP
PHP学习 变量使用总结
2011/03/24 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
Laravle eloquent 多对多模型关联实例详解
2017/11/22 PHP
PHP函数按引用传递参数及函数可选参数用法示例
2018/06/04 PHP
php生成word并下载代码实例
2019/03/15 PHP
PHP扩展Swoole实现实时异步任务队列示例
2019/04/13 PHP
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
jqTransform美化表单
2015/10/10 Javascript
javascript学习笔记_浅谈基础语法,类型,变量
2016/09/19 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
js实现tab切换效果
2017/02/16 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
详解element-ui中el-select的默认选择项问题
2019/08/02 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
基于Vue 撸一个指令实现拖拽功能
2019/10/09 Javascript
JS实现图片切换特效
2019/12/23 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
[40:05]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python 连连看连接算法
2008/11/22 Python
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
Django权限机制实现代码详解
2018/02/05 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
Python描述符descriptor使用原理解析
2020/03/21 Python
python3中for循环踩过的坑记录
2020/12/14 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
2021/01/23 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
美国成衣女装品牌:CHICO’S
2016/09/19 全球购物
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
村捐赠仪式答谢词
2014/01/21 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
学生党员检讨书范文
2014/12/27 职场文书
保证金退回承诺函格式
2015/01/21 职场文书
Python OpenCV之常用滤波器使用详解
2022/04/07 Python