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中与toggleClass等价的程序段 以及未来学习的方向
Mar 18 Javascript
javascript右下角弹层及自动隐藏(自己编写)
Nov 20 Javascript
jquery实现翻动fadeIn显示的方法
Mar 05 Javascript
简介JavaScript中strike()方法的使用
Jun 08 Javascript
JQuery点击事件回到页面顶部效果的实现代码
May 24 Javascript
微信小程序 教程之WXML
Oct 18 Javascript
基于JavaScript实现屏幕滚动效果
Jan 18 Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
Dec 29 jQuery
js取0-9随机取4个数不重复的数字代码实例
Mar 27 Javascript
Layui table field初始化加载时进行隐藏的方法
Sep 19 Javascript
layui动态渲染生成select的option值方法
Sep 23 Javascript
如何在Vue中抽离接口配置文件
Oct 31 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获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
(仅IE下有效)关于checkbox 三态
2007/05/12 Javascript
执行iframe中的javascript方法
2008/10/07 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
2015/02/25 Javascript
基于javascript实现listbox左右移动
2016/01/29 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
2016/10/10 Javascript
使用SVG基本操作API的实例讲解
2017/09/14 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
Vue 让元素抖动/摆动起来的实现代码
2018/05/31 Javascript
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
基于vue写一个全局Message组件的实现
2019/08/15 Javascript
vue实现扫码功能
2020/01/17 Javascript
Vue循环遍历选项赋值到对应控件的实现方法
2020/06/22 Javascript
微信小程序轮播图swiper代码详解
2020/12/01 Javascript
简单解决Python文件中文编码问题
2015/11/22 Python
Python之py2exe打包工具详解
2017/06/14 Python
python正则表达式之对号入座篇
2018/07/24 Python
Python多进程池 multiprocessing Pool用法示例
2018/09/07 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
使用django自带的user做外键的方法
2020/11/30 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
HTML利用九宫格原理进行网页布局
2020/03/13 HTML / CSS
美国围栏公司:Walpole Outdoors
2019/11/19 全球购物
计算机应用职专应届生求职信
2013/11/12 职场文书
竞争上岗演讲稿
2014/01/05 职场文书
《画风》教学反思
2014/04/16 职场文书
电子装配专业毕业生求职信
2014/04/23 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
2015年人民调解工作总结
2015/05/18 职场文书
国庆阅兵观后感
2015/06/15 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
OpenCV-Python直方图均衡化实现图像去雾
2021/06/07 Python