JS实现新浪微博效果带遮罩层的弹出框代码


Posted in Javascript onOctober 12, 2015

本文实例讲述了JS实现新浪微博效果带遮罩层的弹出框代码。分享给大家供大家参考。具体如下:

这是一款新浪微博效果的弹出框,现成的JS代码,兼容IE6+,以及各主流浏览器。新浪微博弹出层并可拖拽,操作轻松舒适,符合用户的浏览习惯,将代码推荐给各位网友。

运行效果截图如下:

JS实现新浪微博效果带遮罩层的弹出框代码

在线演示地址如下:

具体代码如下:

<!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>弹出层并可拖拽</title>
<style>
body,html{height:2000px;}
body,div,h2{margin:0;padding:0;}
body{font:12px/1.5 Tahoma;}
center{padding-top:10px;}
button{cursor:pointer;}
#overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;opacity:0.5;filter:alpha(opacity=50);display:none;}
*html #overlay{position:absolute;}
#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 shit = !-[1, ];
 var oWin = document.getElementById("win");
 var oLay = document.getElementById("overlay"); 
 var oBtn = document.getElementsByTagName("button")[0];
 var oClose = document.getElementById("close");
 var oH2 = oWin.getElementsByTagName("h2")[0];
 var bDrag = false;
 var disX = disY = 0;
 var iScrollT = document.documentElement.scrollTop || document.body.scrollTop;
 var iScrollL = document.documentElement.scrollLeft || document.body.scrollLeft;
 oBtn.onclick = function ()
 {
  oLay.style.display = "block";
  oWin.style.display = "block";
  shit && (oLay.style.height = document.body.offsetHeight + "px");
 };
 oClose.onclick = function ()
 {
  oLay.style.display = "none";
  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 + iScrollL;
  disY = event.clientY - oWin.offsetTop + iScrollT;  
  this.setCapture && this.setCapture();  
  return false
 };
 document.onmousemove = function (event)
 {
  if (!bDrag) return;
  var event = event || window.event;
  var iL = event.clientX - disX + iScrollL;
  var iT = event.clientY - disY + iScrollT;
  var maxL = document.body.clientWidth - oWin.offsetWidth;
  var maxT = document.body.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="overlay"></div>
<div id="win"><h2><span id="close">×</span></h2></div>
<center><button>弹出层</button></center>
</body>
</html>

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

Javascript 相关文章推荐
JQuery与Ajax常用代码实现对比
Oct 03 Javascript
浅析jquery的js图表组件highcharts
Mar 06 Javascript
struts2+jquery组合验证注册用户是否存在
Apr 30 Javascript
js实现touch移动触屏滑动事件
Apr 17 Javascript
jQuery解决input超多的表单提交
Aug 10 Javascript
js仿百度登录页实现拖动窗口效果
Mar 11 Javascript
使用JS中的exec()方法构造正则表达式验证
Aug 01 Javascript
详解jQuery中的事件
Dec 14 Javascript
Bootstrap Search Suggest使用例子
Dec 21 Javascript
react-native封装插件swiper的使用方法
Mar 20 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
May 20 Javascript
利用Angular7开发一个Radio组件的全过程
Jul 11 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
Oct 12 #Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
Oct 12 #Javascript
jquery实现可自动判断位置的弹出层效果代码
Oct 12 #Javascript
jQuery实现鼠标经过时出现隐藏层文字链接的方法
Oct 12 #Javascript
JavaScript实现上下浮动的窗口效果代码
Oct 12 #Javascript
javascript函数式编程程序员的工具集
Oct 11 #Javascript
深入探讨javascript函数式编程
Oct 11 #Javascript
You might like
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
javascript自然分类法算法实现代码
2013/10/11 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
2016/02/18 Javascript
用iframe实现不刷新整个页面上传图片的实例
2016/11/18 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
BootStrap入门学习第一篇
2017/08/28 Javascript
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
Node.js事件的正确使用方法
2019/04/05 Javascript
vue 搭建后台系统模块化开发详解
2019/05/01 Javascript
JavaScript和TypeScript中的void的具体使用
2019/09/12 Javascript
微信小程序图片加载失败时替换为默认图片的方法
2019/12/09 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
2020/09/16 Javascript
[43:43]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第三场 11.29
2020/12/02 DOTA
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
python抓取网页中链接的静态图片
2018/01/29 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
matplotlib subplots 调整子图间矩的实例
2018/05/25 Python
python 对key为时间的dict排序方法
2018/10/17 Python
Python3自动签到 定时任务 判断节假日的实例
2018/11/13 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
浅谈pytorch torch.backends.cudnn设置作用
2020/02/20 Python
python3 sleep 延时秒 毫秒实例
2020/05/04 Python
Python发送邮件实现基础解析
2020/08/14 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
详解Html5页面实现下载文件(apk、txt等)的三种方式
2018/10/22 HTML / CSS
应届大学生简历中的自我评价
2014/01/15 职场文书
优秀经理事迹材料
2014/02/01 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
国贸专业毕业求职信
2014/06/11 职场文书
2016年父亲节寄语
2015/12/04 职场文书
Python实现简单的猜单词
2021/06/15 Python
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技