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 相关文章推荐
javascript 动态数据下的锚点错位问题解决方法
Dec 24 Javascript
JavaScript 学习笔记之变量及其作用域
Jan 14 Javascript
angularjs学习笔记之双向数据绑定
Sep 26 Javascript
关于动态执行代码(js的Eval)实例详解
Aug 15 Javascript
原生js实现可爱糖果数字时间特效
Dec 30 Javascript
微信小程序商城项目之购物数量加减(3)
Apr 17 Javascript
微信小程序点击控件修改样式实例详解
Jul 07 Javascript
JS添加或删除HTML dom元素的方法实例分析
Mar 05 Javascript
浅谈bootstrap layer.open中end的使用方法
Sep 12 Javascript
vue3.0中使用postcss-pxtorem的具体方法
Nov 20 Javascript
基于JavaScript或jQuery实现网站夜间/高亮模式
May 30 jQuery
八种Vue组件间通讯方式合集(推荐)
Aug 18 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
php 判断字符串中是否包含html标签
2014/02/17 PHP
PHP5.5在windows安装使用memcached服务端的方法
2014/04/16 PHP
php curl 上传文件代码实例
2015/04/27 PHP
Yii2实现让关联字段支持搜索功能的方法
2016/08/10 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
Jquery时间验证和转换工具小例子
2013/07/01 Javascript
设置checkbox为只读(readOnly)的两种方式
2013/10/11 Javascript
node.js中的fs.lchown方法使用说明
2014/12/16 Javascript
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
JavaScript Array对象详解
2016/03/01 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
AngularJS日程表案例详解
2017/08/15 Javascript
vue.js整合mint-ui里的轮播图实例代码
2017/12/27 Javascript
让Vue也可以使用Redux的方法
2018/05/23 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
2018/08/24 Javascript
浅谈webpack SplitChunksPlugin实用指南
2018/09/17 Javascript
JS实现查找数组中对象的属性值是否存在示例
2019/05/24 Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
2019/12/18 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
Python解决鸡兔同笼问题的方法
2014/12/20 Python
将字典转换为DataFrame并进行频次统计的方法
2018/04/08 Python
python实现内存监控系统
2021/03/07 Python
python通过tcp发送xml报文的方法
2018/12/28 Python
Python递归函数特点及原理解析
2020/03/04 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
基于python实现生成指定大小txt文档
2020/07/20 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
介绍一下Mysql的存储引擎
2015/02/12 面试题
铅球加油稿100字
2014/09/26 职场文书
2015年毕业实习工作总结
2014/12/12 职场文书
社团招新宣传语
2015/07/13 职场文书
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript
JavaScript实现登录窗体
2021/06/22 Javascript