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 相关文章推荐
Ext grid 添加右击菜单
Nov 26 Javascript
JQuery实现简单时尚快捷的气泡提示插件
Dec 20 Javascript
SOSO地图API使用(一)在地图上画圆实现思路与代码
Jan 15 Javascript
用正则表达式替换图片地址img标签
Nov 22 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
Apr 12 Javascript
CSS3实现动态背景登录框的代码
Jul 28 Javascript
原生JS实现平滑回到顶部组件
Mar 16 Javascript
js 实现省市区三级联动菜单效果
Feb 20 Javascript
微信小程序 同步请求授权的详解
Aug 04 Javascript
JS中正则表达式要注意lastIndex属性
Aug 08 Javascript
vue用BMap百度地图实现即时搜索功能
Sep 26 Javascript
AJAX XMLHttpRequest对象创建使用详解
Aug 20 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下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
PHP常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
PHP重定向的3种方式
2013/03/07 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
php实现微信和支付宝支付的示例代码
2020/08/11 PHP
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
浅析js预加载/延迟加载
2014/09/25 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
js自制图片放大镜功能
2017/01/24 Javascript
JS常用倒计时代码实例总结
2017/02/07 Javascript
基于vue实现swipe分页组件实例
2017/05/25 Javascript
bootstrap时间插件daterangepicker使用详解
2017/10/19 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
Vue项目中数据的深度监听或对象属性的监听实例
2020/07/17 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
[37:45]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第二场 12.09
2020/12/11 DOTA
Python下使用Psyco模块优化运行速度
2015/04/05 Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
2020/04/18 Python
Linux上使用Python统计每天的键盘输入次数
2019/04/17 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
详解Django3中直接添加Websockets方式
2020/02/12 Python
Python如何爬取b站热门视频并导入Excel
2020/08/10 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
虚拟环境及venv和virtualenv的区别说明
2021/02/05 Python
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
2014/04/28 面试题
女大学生毕业找工作的自我评价
2013/10/03 职场文书
销售总经理岗位职责
2014/03/15 职场文书
经贸日语专业自荐信
2014/09/02 职场文书
2015届大学生就业推荐表自我评价
2014/09/27 职场文书
2014高三学生考试作弊检讨书
2014/12/14 职场文书
小班下学期个人总结
2015/02/12 职场文书
承诺保证书格式
2015/02/28 职场文书