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 命名规则 变量命名规则
Feb 25 Javascript
Jquery实现瀑布流布局(备有详细注释)
Jul 31 Javascript
基于jQuery实现美观且实用的倒计时实例代码
Dec 30 Javascript
jquery mobile界面数据刷新的实现方法
May 28 Javascript
jquery基本选择器匹配多个元素的实现方法
Sep 05 Javascript
微信小程序 Tab页切换更新数据
Jan 05 Javascript
js实现弹窗暗层效果
Jan 16 Javascript
JS实现的简单图片切换功能示例【测试可用】
Feb 14 Javascript
Vue.js仿微信聊天窗口展示组件功能
Aug 11 Javascript
利用pm2部署多个node.js项目的配置教程
Oct 22 Javascript
JavaScript学习教程之cookie与webstorage
Jun 23 Javascript
微信小程序全局变量的设置、使用、修改过程解析
Sep 24 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中Cookie与Session的异同
2016/02/19 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
JS JSON对象转为字符串的简单实现方法
2013/11/18 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
2016/12/02 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
微信小程序 数据绑定及运算的简单实例
2017/09/20 Javascript
vue与vue-i18n结合实现后台数据的多语言切换方法
2018/03/08 Javascript
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
微信小程序如何获取地址
2019/12/24 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
Python编程中的文件操作攻略
2015/10/16 Python
利用Python开发微信支付的注意事项
2016/08/19 Python
Python 实现还原已撤回的微信消息
2019/06/18 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
python操作redis数据库的三种方法
2020/09/10 Python
HTML5之多线程(Web Worker)
2019/01/02 HTML / CSS
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
2013/01/30 HTML / CSS
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
说出ArrayList,Vector, LinkedList的存储性能和特性
2015/01/04 面试题
临床医学专业个人的自我评价
2013/09/27 职场文书
土木工程专业个人求职信
2013/12/30 职场文书
亮剑精神演讲稿
2014/05/23 职场文书
大学生交通专业求职信
2014/09/01 职场文书
导游词幽默开场白
2019/06/26 职场文书
创业计划书之美甲店
2019/09/20 职场文书
手把手教你怎么用Python实现zip文件密码的破解
2021/05/27 Python
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
2022/06/28 Oracle