JS弹出可拖拽可关闭的div层完整实例


Posted in Javascript onFebruary 13, 2015

本文实例讲述了JS弹出可拖拽可关闭的div层完整实现方法。分享给大家供大家参考。具体实现方法如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>JS弹出可拖拽可关闭的div层</title>

<style>

html,body{height:100%;overflow:hidden;}

body,div,h2{margin:0;padding:0;}

body{font:12px/1.5 Tahoma;}

center{padding-top:10px;}

button{cursor:pointer;}

#win{position:absolute;top:50%;left:50%;width:400px;height:200px;background:#fff;border:4px solid #f90;margin:-102px 0 0 -202px;display:none;}

h2{font-size:12px;height:18px;text-align:right;background:#FC0;border-bottom:3px solid #f90;padding:5px;cursor:move;}

h2 span{color:#f90;cursor:pointer;background:#fff;border:1px solid #f90;padding:0 2px;}

</style>

<script>

window.onload = function ()

{

 var oWin = document.getElementById("win");

 var oBtn = document.getElementsByTagName("button")[0];

 var oClose = document.getElementById("close");

 var oH2 = oWin.getElementsByTagName("h2")[0];

 var bDrag = false;

 var disX = disY = 0;

 oBtn.onclick = function ()

 {

  oWin.style.display = "block" 

 };

 oClose.onclick = function ()

 {

  oWin.style.display = "none"

  

 };

 oClose.onmousedown = function (event)

 {

  (event || window.event).cancelBubble = true;

 };

 oH2.onmousedown = function (event)

 {  

  var event = event || window.event;

  bDrag = true;

  disX = event.clientX - oWin.offsetLeft;

  disY = event.clientY - oWin.offsetTop;  

  this.setCapture && this.setCapture();  

  return false

 };

 document.onmousemove = function (event)

 {

  if (!bDrag) return;

  var event = event || window.event;

  var iL = event.clientX - disX;

  var iT = event.clientY - disY;

  var maxL = document.documentElement.clientWidth - oWin.offsetWidth;

  var maxT = document.documentElement.clientHeight - oWin.offsetHeight;  

  iL = iL < 0 ? 0 : iL;

  iL = iL > maxL ? maxL : iL;   

  iT = iT < 0 ? 0 : iT;

  iT = iT > maxT ? maxT : iT;

  

  oWin.style.marginTop = oWin.style.marginLeft = 0;

  oWin.style.left = iL + "px";

  oWin.style.top = iT + "px";  

  return false

 };

 document.onmouseup = window.onblur = oH2.onlosecapture = function ()

 {

  bDrag = false;    

  oH2.releaseCapture && oH2.releaseCapture();

 };

};

</script>

</head>

<body>
<div id="win"><h2><span id="close">×</span></h2></div>

<center><button>弹出层</button></center>

</body>

</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
jQuery使用手册之三 CSS操作
Mar 24 Javascript
javascript写的简单的计算器,内容很多,方法实用,推荐
Dec 29 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
Dec 04 Javascript
让浏览器DOM元素最后加载的js方法
Jul 29 Javascript
javascript如何操作HTML下拉列表标签
Aug 20 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
Jun 02 Javascript
浅谈js中调用函数时加不加括号的问题
Jul 28 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
Aug 08 Javascript
使用JavaScript获取URL中的参数(两种方法)
Nov 16 Javascript
详解node HTTP请求客户端 - Request
May 05 Javascript
Typescript的三种运行方式(小结)
Sep 18 Javascript
vue 项目软键盘回车触发搜索事件
Sep 09 Javascript
AngularJS表单编辑提交功能实例
Feb 13 #Javascript
javascript转换日期字符串为Date日期对象的方法
Feb 13 #Javascript
jQuery动态修改超链接地址的方法
Feb 13 #Javascript
jQuery实现contains方法不区分大小写的方法
Feb 13 #Javascript
javascript获取元素离文档各边距离的方法
Feb 13 #Javascript
jQuery点缩略图弹出层显示大图片
Feb 13 #Javascript
Js控制滑轮左右滑动实例
Feb 13 #Javascript
You might like
php 获取远程网页内容的函数
2009/09/08 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
php中将数组转成字符串并保存到数据库中的函数代码
2013/09/29 PHP
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
2016/03/06 PHP
PHP设计模式之命令模式示例详解
2020/12/20 PHP
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
jQuery DateTimePicker 日期和时间插件示例
2017/01/22 Javascript
js模态对话框使用方法详解
2017/02/16 Javascript
基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
2017/07/20 jQuery
JS中精巧的自动柯里化实现方法
2017/12/12 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
[00:47]TI7不朽珍藏III——沙王不朽展示
2017/07/15 DOTA
Python中文件I/O高效操作处理的技巧分享
2017/02/04 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
pandas 选择某几列的方法
2018/07/03 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
django将网络中的图片,保存成model中的ImageField的实例
2019/08/07 Python
详解Django admin高级用法
2019/11/06 Python
python实现图片二值化及灰度处理方式
2019/12/07 Python
Ubuntu16.04安装python3.6.5步骤详解
2020/01/10 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
WiFi云数码相框:Nixplay
2018/07/05 全球购物
C面试题
2015/10/08 面试题
幼儿运动会邀请函
2014/01/17 职场文书
教师师德师风自我剖析材料
2014/09/29 职场文书
旷课检讨书范文
2014/10/30 职场文书
少先队入队仪式主持词
2015/07/04 职场文书
婚宴来宾致辞
2015/07/28 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python