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

时间:2021-05-26

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

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

运行效果截图如下:

在线演示地址如下:

http://demo.jb51.net/js/2015/js-sina-zzxg-dlg-demo/

具体代码如下:

<!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程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章