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 相关文章推荐
JS按字节截取字符长度实例
Nov 20 Javascript
jQuery中click事件的定义和用法
Dec 20 Javascript
jQuery实现获取table表格第一列值的方法
Mar 01 Javascript
iScroll.js 使用方法参考
May 16 Javascript
JavaScript实现经典排序算法之冒泡排序
Dec 28 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
Mar 07 Javascript
Vue 2.0 服务端渲染入门介绍
Mar 29 Javascript
vue省市区三联动下拉选择组件的实现
Apr 28 Javascript
微信小程序实现简单跑马灯效果
May 26 Javascript
彻底揭秘keep-alive原理(小结)
May 05 Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
Jul 16 Javascript
JS 5种遍历对象的方式
Jun 16 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
基于datagrid框架的查询
2013/04/08 Javascript
jcrop基本参数一览
2013/07/16 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
如何正确使用javascript 来进行我们的程序开发
2014/06/23 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
js动态获取子复选项并设计全选及提交的实现方法
2016/06/24 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/09/29 Javascript
easyui form validate总是返回false的原因及解决方法
2016/11/07 Javascript
Vue2单一事件管理组件通信
2017/05/09 Javascript
详解JS函数stack size计算方法
2018/06/18 Javascript
JS内部事件机制之单线程原理
2018/07/02 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
跟老齐学Python之开始真正编程
2014/09/12 Python
python和shell实现的校验IP地址合法性脚本分享
2014/10/23 Python
Python读写文件方法总结
2015/06/09 Python
Python温度转换实例分析
2018/01/17 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
Python迭代器定义与简单用法分析
2018/04/30 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
python使用Matplotlib绘制分段函数
2018/09/25 Python
Python简易版停车管理系统
2019/08/12 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
公司口号大全
2014/06/11 职场文书
中央空调节能方案
2014/06/15 职场文书
优秀家长自荐材料
2014/08/26 职场文书
争当四好少年演讲稿
2014/09/13 职场文书
先进个人事迹材料
2014/12/29 职场文书
《清澈的湖水》教学反思
2016/02/17 职场文书
党风廉政承诺书2016
2016/03/25 职场文书
医生行业员工的辞职信
2019/06/24 职场文书
python实现简单的名片管理系统
2021/04/26 Python
Python Numpy库的超详细教程
2022/04/06 Python
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android