html+javascript实现可拖动可提交的弹出层对话框效果


Posted in Javascript onAugust 05, 2013
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>JAVASCRIPT弹出层</title> 
<META http-equiv=Content-Type content="text/html; charset=utf-8"> 
<style> 
#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.display = "block"; 
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"><a 
href="#" onclick="hidePopup();">关闭</a> </span> 
</div> 
<div id="popForm"> <!-- 表单div --> 
<form action="insert_map.jsp" method="post"> 
<p> 
      ID :<input type="text" name="id" value="0" /> </br> 
名    称 :<input type="text" name="name" value="aaa" /> </br> 
电压等级 :<input type="text" name="voltage_level" value="110kv" /> </br> 
经    度 :<input type="text" name="lon" value="121." /> </br> 
纬    度 :<input type="text" name="lat" value="28." /> </br> 
</p> 
   <input type="submit" value="提交" />   
   <input type="reset" value="重置" />   
   <input type="reset" value="取消" onclick="hidePopup()" /> 
</form> 
</div> 
</div> 
<p> 
<input name="" type="button" onclick="showPopup()" value="操作" /> 
</p> 
<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(); 
//objDiv.filters.alpha.opacity = 50;//当鼠标按下后透明度改变 
} else { 
window.captureEvents(Event.MOUSEMOVE);//捕获鼠标拖动事件 
//objDiv.style.opacity = 0.5;//当鼠标按下后透明度改变 
} 
} 
} 
document.onmouseup = function() { 
mouseD = false;//左键松开 
objDrag = ""; 
if (isIE) { 
objDiv.releaseCapture(); 
//objDiv.filters.alpha.opacity = 100;//当鼠标左键松开后透明度改变 
} else { 
window.releaseEvents(objDiv.MOUSEMOVE);//释放鼠标拖动事件 
//objDiv.style.opacity = 1;//当鼠标左键松开后透明度改变 
} 
} 
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>

效果如下图:
html+javascript实现可拖动可提交的弹出层对话框效果
Javascript 相关文章推荐
JavaScript 和 Java 的区别浅析
Jul 31 Javascript
jquery增加时编辑jqGrid(实例代码)
Nov 08 Javascript
jQuery之DOM对象和jQuery对象的转换与区别分析
Jan 08 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
Aug 28 Javascript
JS实现单击输入框弹出选择框效果完整实例
Dec 14 Javascript
js style.display=block显示布局错乱问题的解决方法
Sep 21 Javascript
JS不完全国际化&amp;本地化手册 之 理论篇
Sep 27 Javascript
利用js编写网页进度条效果
Oct 08 Javascript
Node.js成为Web应用开发最佳选择的原因
Feb 05 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
Mar 06 Javascript
node中IO以及定时器优先级详解
May 10 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
Jul 15 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
Aug 05 #Javascript
jquery网页元素拖拽插件效果及实现
Aug 05 #Javascript
jquery mobile实现拨打电话功能的几种方法
Aug 05 #Javascript
js 判断计算字符串长度/判断空的简单方法
Aug 05 #Javascript
javascript显示用户停留时间的简单实例
Aug 05 #Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
Aug 05 #Javascript
JS字符串处理实例代码
Aug 05 #Javascript
You might like
PHP的宝库目录--PEAR
2006/10/09 PHP
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
php session处理的定制
2009/03/16 PHP
smarty缓存用法分析
2014/12/16 PHP
PHP答题类应用接口实例
2015/02/09 PHP
php字符串按照单词进行反转的方法
2015/03/14 PHP
PHP技术开发微信公众平台
2015/07/22 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
异步加载script的代码
2011/01/12 Javascript
基于JQuery实现分隔条的功能
2016/06/17 Javascript
移动端日期插件Mobiscroll.js使用详解
2016/12/19 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
2020/02/24 Javascript
vue键盘事件点击事件加native操作
2020/07/27 Javascript
React Native登录之指纹登录篇的示例代码
2020/11/03 Javascript
python实现简单的计时器功能函数
2015/03/14 Python
Python中http请求方法库汇总
2016/01/06 Python
Ruby元编程基础学习笔记整理
2016/07/02 Python
Python 字符串换行的多种方式
2018/09/06 Python
Python 读取串口数据,动态绘图的示例
2019/07/02 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
Python OpenCV图像指定区域裁剪的实现
2019/10/30 Python
Python解压 rar、zip、tar文件的方法
2019/11/19 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
房地产资料员岗位职责
2014/07/02 职场文书
心得体会的写法
2014/09/05 职场文书
大学生见习期满自我鉴定
2014/09/13 职场文书
村干部群众路线整改措施思想汇报
2014/10/12 职场文书
优秀教师先进材料
2014/12/16 职场文书
新员工入职欢迎词
2015/01/23 职场文书
会计主管岗位职责
2015/04/02 职场文书
农村结婚典礼主持词
2015/06/29 职场文书
合作协议书格式范本
2016/03/21 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL
Java获取字符串编码格式实现思路
2022/09/23 Java/Android