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 相关文章推荐
XMLHTTPRequest的属性和方法简介
Nov 23 Javascript
使用jquery实现简单的ajax
Jul 08 Javascript
js中如何把字符串转化为对象、数组示例代码
Jul 17 Javascript
轻松实现javascript图片轮播特效
Jan 13 Javascript
Vue.js中用v-bind绑定class的注意事项
Dec 13 Javascript
js时间控件只显示年月
Jan 08 Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
Jul 27 Javascript
vue中component组件的props使用详解
Sep 04 Javascript
详解Vue 事件修饰符capture 的使用
Dec 29 Javascript
vue路由组件按需加载的几种方法小结
Jul 12 Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
Nov 02 Javascript
vue 之 css module的使用方法
Dec 04 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中将网页导出为Word文档的代码
2012/05/25 PHP
php切割页面div内容的实现代码分享
2012/07/31 PHP
ThinkPHP实现一键清除缓存方法
2014/06/26 PHP
PHP实现简单搜歌的方法
2015/07/28 PHP
利用Ext Js生成动态树实例代码
2008/09/08 Javascript
JavaScript Cookie的读取和写入函数
2009/12/08 Javascript
jQuery焦点图切换特效插件封装实例
2013/08/18 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
通过Javascript读取本地Excel文件内容的代码示例
2014/04/08 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
剖析Node.js异步编程中的回调与代码设计模式
2016/02/16 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
Chrome浏览器的alert弹窗禁止再次弹出后恢复的方法
2016/12/30 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
webpack进阶——缓存与独立打包的用法
2017/08/02 Javascript
jQuery实现对网页节点的增删改查功能示例
2017/09/18 jQuery
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
学习jQuery中的noConflict()用法
2018/09/28 jQuery
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
layui上传图片到服务器的非项目目录下的方法
2019/09/26 Javascript
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
Tornado Web Server框架编写简易Python服务器
2018/07/28 Python
Python 输入一个数字判断成绩分数等级的方法
2018/11/15 Python
Python编程图形库之Pillow使用方法讲解
2018/12/28 Python
[机器视觉]使用python自动识别验证码详解
2019/05/16 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
Python实现简单猜数字游戏
2021/02/03 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
存储过程的优点有哪些
2012/09/27 面试题
人力资源部经理助理岗位职责
2014/03/04 职场文书
诉讼和解协议书
2016/03/23 职场文书
Python编程源码报错解决方法总结经验分享
2021/10/05 Python