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 相关文章推荐
Fastest way to build an HTML string(拼装html字符串的最快方法)
Aug 20 Javascript
jQuery Tools tab使用介绍
Jul 14 Javascript
提示$ is not defined错误分析及解决
Apr 09 Javascript
jQuery实现自定义下拉列表
Jan 05 Javascript
使用jQuery在对象中缓存选择器的简单方法
Jun 30 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
Aug 07 Javascript
深入理解JavaScript 函数
Jun 06 Javascript
bootstrap选项卡使用方法解析
Jan 11 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
Apr 07 jQuery
基于jQuery封装的分页组件
Jun 26 jQuery
详解Webpack实战之构建 Electron 应用
Dec 25 Javascript
js实现各浏览器全屏代码实例
Jul 03 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下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
Window下PHP三种运行方式图文详解
2013/06/11 PHP
CodeIgniter多语言实现方法详解
2016/01/20 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
Yii2.0中的COOKIE和SESSION用法
2016/08/12 PHP
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
一段非常简单的让图片自动切换js代码
2006/11/10 Javascript
php上传图片并给图片打上透明水印的代码
2010/06/07 Javascript
JS限制上传图片大小不使用控件在本地实现
2012/12/19 Javascript
体验js中splice()的强大(插入、删除或替换数组的元素)
2013/01/16 Javascript
javascript 函数声明与函数表达式的区别介绍
2013/10/05 Javascript
js实现上传图片预览的方法
2015/02/09 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
JavaScript对象引用与赋值实例详解
2017/03/15 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
2017/06/04 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
angularjs实现过滤并替换关键字小功能
2017/09/19 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
JavaScript实现alert弹框效果
2020/11/19 Javascript
Python中使用动态变量名的方法
2014/05/06 Python
栈和队列数据结构的基本概念及其相关的Python实现
2015/08/24 Python
详解Python文本操作相关模块
2017/06/22 Python
python中import reload __import__的区别详解
2017/10/16 Python
python使用pil进行图像处理(等比例压缩、裁剪)实例代码
2017/12/11 Python
Python利用openpyxl库遍历Sheet的实例
2018/05/03 Python
对pandas中Series的map函数详解
2018/07/25 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
Python2与Python3的区别详解
2020/02/09 Python
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
Html5在手机端调用相机的方法实现
2020/05/13 HTML / CSS
SQL注入攻击的种类有哪些
2013/12/30 面试题
感情真挚的毕业生求职信
2014/07/19 职场文书
Python机器学习之基于Pytorch实现猫狗分类
2021/06/08 Python
JavaScript事件的委托(代理)的用法示例详解
2022/02/18 Javascript
Java实现扫雷游戏详细代码讲解
2022/05/25 Java/Android