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 相关文章推荐
用Javscript实现表单复选框的全选功能
May 25 Javascript
Jquery 表单取值赋值的一些基本操作
Oct 11 Javascript
jQuery写fadeTo示例代码
Feb 21 Javascript
js删除Array数组中指定元素的两种方法
Aug 03 Javascript
vue.js中指令Directives详解
Mar 20 Javascript
vue中promise的使用及异步请求数据的方法
Nov 08 Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
Mar 29 Javascript
Vue实现导航栏的显示开关控制
Nov 01 Javascript
vue自定义switch开关组件,实现样式可自行更改
Nov 01 Javascript
vue中音频wavesurfer.js的使用方法
Feb 20 Vue.js
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
Jun 07 Javascript
JavaScript实现网页跨年倒计时
Dec 02 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简单静态页生成过程
2008/03/27 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
php+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
PHP打印输出函数汇总
2016/08/28 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
javascript 计算两个整数的百分比值
2009/12/26 Javascript
javascript教程之不完整的继承(js原型链)
2014/01/13 Javascript
jQuery实现的一个自定义Placeholder属性插件
2014/08/11 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
jquery+easeing实现仿flash的载入动画
2015/03/10 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
2015/12/03 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
在vue.js中抽出公共代码的方法示例
2017/06/08 Javascript
写给vue新手们的vue渲染页面教程
2017/09/01 Javascript
Node.JS循环删除非空文件夹及子目录下的所有文件
2018/03/12 Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
2018/03/14 Javascript
js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解
2019/01/19 Javascript
微信小程序生成二维码的示例代码
2019/03/29 Javascript
小试小程序云开发(小结)
2019/06/06 Javascript
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
基于vue+echarts 数据可视化大屏展示的方法示例
2020/03/09 Javascript
Django集成搜索引擎Elasticserach的方法示例
2019/06/04 Python
通过pycharm使用git的步骤(图文详解)
2019/06/13 Python
win10下python3.8的PIL库安装过程
2020/06/08 Python
基于Python下载网络图片方法汇总代码实例
2020/06/24 Python
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
存储过程和sql语句的优缺点
2014/07/02 面试题
文化活动实施方案
2014/03/28 职场文书
爱耳日宣传活动总结
2014/07/05 职场文书
员工安全生产责任书
2014/07/22 职场文书
市委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
先进事迹材料范文
2014/12/29 职场文书
Oracle中日期的使用方法实例
2022/07/07 Oracle