原生js实现弹出层效果
发布时间 - 2026-01-10 22:40:23 点击率:次知识要点

1.遮罩层的宽度和高度是js获取页面的宽高(页面内容)
//获取遮罩层(内容)的高度和宽度 var sHeight=document.documentElement.scrollHeight; var sWidth=document.documentElement.scrollWidth;
2.登录框设置静止定位fixed
3.登录框居中显示公式:(可视区域宽高-登录框宽高)/2
//获取login的宽度和高度并设置偏移值 var dHeight=oLogin.offsetHeight; var dWidth=oLogin.offsetWidth; oLogin.style.left=(sWidth-dWidth)/2+"px"; oLogin.style.top=(wHeight-dHeight)/2+"px";
完整代码
<!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>demo</title>
<style>
body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:0;padding:0;}
body,button,input,select,textarea{font:12px/1.5 tahoma,arial,\5b8b\4f53;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
address,cite,dfn,em,var{font-style:normal;}
code,kbd,pre,samp{font-family:courier new,courier,monospace;}
small{font-size:12px;}
ul,ol{list-style:none;}
a{text-decoration:none;}
a:hover{text-decoration:underline;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
legend{color:#000;}
fieldset,img{border:0;}
button,input,select,textarea{font-size:100%;}
table{border-collapse:collapse;border-spacing:0;}
.clear{clear: both;float: none;height: 0;overflow: hidden;}
p{font-size: 100px;}
#mask{
background: #000;
opacity: 0.75;
filter: alpha(opacity=75);
height: 1000px;
width: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 1000;
}
#login{
position: fixed;
left: 30%;
top: 30%;
z-index:1001;
}
.loginCon{
width: 670px;
height: 380px;
background: #fff;
border:5px solid #F01400;
}
#close{
width: 30px;
height: 30px;
background: blue;
cursor: pointer;
position: absolute;
right: 10px;
top: 10px;
}
#btnLogin{
width: 80px;
height: 40px;
background: #F01400;
margin:0 auto;
display: block;
cursor: pointer;
border-style: none;
color: #fff;
font-size: 16px;
}
</style>
</head>
<body>
<button id="btnLogin">登录</button>
<!--
<div id="mask"></div>
<div id="login">
<div class="loginCon">
<div id="close"></div>
</div>
</div>
-->
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<p>1</p>
<script type="text/javascript">
function openNew(){
//获取页面body!内容!的高度和宽度
var sHeight=document.documentElement.scrollHeight;
var sWidth=document.documentElement.scrollWidth;
//获取可视区域高度,宽度与页面内容的宽度一样
var wHeight=document.documentElement.clientHeight;
//创建遮罩层div并插入body
var oMask=document.createElement("div");
oMask.id="mask";
oMask.style.height=sHeight+"px";
//宽度直接用100%在样式里
document.body.appendChild(oMask);
//创建登录层div并插入body
var oLogin=document.createElement("div");
oLogin.id="login";
oLogin.innerHTML="<div class='loginCon'><div id='close'></div></div>"
document.body.appendChild(oLogin);
//获取login的宽度和高度并设置偏移值
var dHeight=oLogin.offsetHeight;
var dWidth=oLogin.offsetWidth;
oLogin.style.left=(sWidth-dWidth)/2+"px";
oLogin.style.top=(wHeight-dHeight)/2+"px";
//获取关闭按钮
var oClose=document.getElementById("close");
oMask.onclick=oClose.onclick=function(){
document.body.removeChild(oMask);
document.body.removeChild(oLogin);
}
}
window.onload=function(){
var oBtn=document.getElementById("btnLogin");
oBtn.onclick=function(){
openNew();
}
}
</script>
</body>
</html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# js
# 弹出层
# js实现弹出层
# 原生js实现弹出层
# js制作带有遮罩弹出层实现登录注册表单特效代码分享
# js控制div弹出层实现方法
# JS简单实现动画弹出层效果
# 使用原生JS实现弹出层特效
# js与css实现弹出层覆盖整个页面的方法
# js实现div弹出层的方法
# Js Jquery创建一个弹出层可加载一个页面
# 使用js实现关闭js弹出层的窗口
# content
# text
# Type
# equiv
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
phpredis提高消息队列的实时性方法(推荐)
如何用花生壳三步快速搭建专属网站?
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
Internet Explorer官网直接进入 IE浏览器在线体验版网址
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
如何在宝塔面板中修改默认建站目录?
EditPlus中的正则表达式实战(6)
如何在Windows 2008云服务器安全搭建网站?
Python面向对象测试方法_mock解析【教程】
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
Laravel如何实现本地化和多语言支持?(i18n教程)
如何用PHP快速搭建高效网站?分步指南
如何在IIS中新建站点并配置端口与IP地址?
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
详解Android——蓝牙技术 带你实现终端间数据传输
如何快速完成中国万网建站详细流程?
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
微信h5制作网站有哪些,免费微信H5页面制作工具?
动图在线制作网站有哪些,滑动动图图集怎么做?
如何快速打造个性化非模板自助建站?
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
昵图网官网入口 昵图网素材平台官方入口
如何确保西部建站助手FTP传输的安全性?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
网易LOFTER官网链接 老福特网页版登录地址
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
Laravel如何配置任务调度?(Cron Job示例)
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
Laravel如何使用查询构建器?(Query Builder高级用法)
非常酷的网站设计制作软件,酷培ai教育官方网站?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
如何在局域网内绑定自建网站域名?
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
网站制作价目表怎么做,珍爱网婚介费用多少?
猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
Laravel如何实现模型的全局作用域?(Global Scope示例)
奇安信“盘古石”团队突破 iOS 26.1 提权
桂林网站制作公司有哪些,桂林马拉松怎么报名?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
郑州企业网站制作公司,郑州招聘网站有哪些?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
高端智能建站公司优选:品牌定制与SEO优化一站式服务

