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 相关文章推荐
jQuery 图片切换插件(代码比较少)
May 07 Javascript
用JS提交参数创建form表单在FireFox中遇到的问题
Jan 16 Javascript
jquery 动态创建元素的方式介绍及应用
Apr 21 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
Sep 01 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
Apr 14 Javascript
前端把html表格生成为excel表格的实例
Sep 19 Javascript
基于 Vue.js 之 iView UI 框架非工程化实践记录(推荐)
Nov 21 Javascript
iview中Select 选择器多选校验方法
Mar 15 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
Jul 31 Javascript
vue使用codemirror的两种用法
Aug 27 Javascript
JavaScript this关键字指向常用情况解析
Sep 02 Javascript
js实现简单的倒计时
Jan 28 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自定义函数call_user_func和call_user_func_array详解
2011/07/14 PHP
PHP数据类型的总结分析
2013/06/13 PHP
php+ajax实时刷新简单实例
2015/02/25 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
2016/03/21 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
jquery实现excel导出的方法
2013/04/04 Javascript
js实现改进的仿蓝色论坛导航菜单效果代码
2015/09/06 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
jquery实现页面加载效果
2017/02/21 Javascript
JavaScript中创建对象的7种模式详解
2017/02/21 Javascript
vue-cli构建项目使用 less的方法
2017/10/04 Javascript
详解使用PM2管理nodejs进程
2017/10/24 NodeJs
jQuery实现图片简单轮播功能示例
2018/08/13 jQuery
vue-cli3脚手架的配置及使用教程
2018/08/28 Javascript
Element 默认勾选表格 toggleRowSelection的实现
2019/09/04 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
让python的Cookie.py模块支持冒号做key的方法
2010/12/28 Python
Python下singleton模式的实现方法
2014/07/16 Python
使用Python编写Linux系统守护进程实例
2015/02/03 Python
Python 装饰器深入理解
2017/03/16 Python
基于Python socket的端口扫描程序实例代码
2018/02/09 Python
django加载本地html的方法
2018/05/27 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
pandas按行按列遍历Dataframe的几种方式
2019/10/23 Python
python不同系统中打开方法
2020/06/23 Python
详解通过变换矩阵实现canvas的缩放功能
2019/01/14 HTML / CSS
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
亚历山大·王官网:Alexander Wang
2017/06/23 全球购物
J2EE系统只能是基于web
2015/09/08 面试题
2015年文员个人工作总结
2015/04/09 职场文书
先进个人主要事迹范文
2015/11/04 职场文书
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android