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

 更新时间:2015年02月13日 11:52:13   作者:代码家园  
这篇文章主要介绍了JS弹出可拖拽可关闭的div层完整实现方法,包括对div弹出层的样式及功能的实现技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了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实现全角半角检测的方法

    javascript实现全角半角检测的方法

    这篇文章主要介绍了javascript实现全角半角检测的方法,涉及javascript针对字符遍历与检测的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Echarts中常用的参数总结及参数自定义示例代码

    Echarts中常用的参数总结及参数自定义示例代码

    Echarts中参数的配置功能很强大,对任何一项的配置都很细致,下面这篇文章主要给大家介绍了关于Echarts中常用的参数总结及参数自定义的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • 如何制作浮动广告 JavaScript制作浮动广告代码

    如何制作浮动广告 JavaScript制作浮动广告代码

    如果有一定的JavaScript基础,制作浮动广告还是比较容易的,利用闲暇时间简单制作了一个,感兴趣的朋友可以参考下哦
    2012-12-12
  • js如何实现元素曝光上报

    js如何实现元素曝光上报

    这篇文章主要介绍了js如何实现元素曝光上报,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • nestjs实现图形校验和单点登录的示例代码

    nestjs实现图形校验和单点登录的示例代码

    本文主要介绍了nestjs实现图形校验和单点登录的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • echarts 移动端竖着显示效果实现

    echarts 移动端竖着显示效果实现

    这篇文章主要为大家介绍了echarts 移动端竖着显示效果实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • web性能优化之javascript性能调优

    web性能优化之javascript性能调优

    本文详细介绍Web 开发中关于性能方面需要注意的一些小细节,从 JavaScript 本身着手,介绍了 JavaScript 中需要避免的一些函数的使用和编程规则,比如 eval 的弊端,function scope chain 以及 String 的用法等等
    2012-12-12
  • 浅谈Javascript实现继承的方法

    浅谈Javascript实现继承的方法

    本文给大家简单介绍了下如何在javascript中实现继承的几种方法,十分的实用,有需要的小伙伴可以参考下。
    2015-07-07
  • 微信小程序通过uni-app进行全局分享

    微信小程序通过uni-app进行全局分享

    这篇文章主要介绍了微信小程序通过uni-app进行全局分享,小编觉得挺不错的,现在分享给大家,需要的朋友可以收藏下
    2021-11-11
  • 详解JavaScript中if语句优化和部分语法糖小技巧推荐

    详解JavaScript中if语句优化和部分语法糖小技巧推荐

    在前端日常开发过程中,if else判断语句使用的次数应该是比较频繁的了,一些较为复杂的场景,可能会用到很多判断,本文给大家介绍JavaScript中if语句优化和部分语法糖小技巧,感兴趣的朋友一起看看吧
    2022-05-05

最新评论