JQuery 弹出层,始终显示在屏幕正中间
1.让层始终显示在屏幕正中间:
样式代码:
- .model{
- position: absolute; z-index: 1003;
- width:320px; height:320px; text-align:center;
- background-color:#0066FF; display: none;
- }
jquery代码:
- //让指定的DIV始终显示在屏幕正中间
- function letDivCenter(divName){
- var top = ($(window).height() - $(divName).height())/2;
- var left = ($(window).width() - $(divName).width())/2;
- var scrollTop = $(document).scrollTop();
- var scrollLeft = $(document).scrollLeft();
- $(divName).css( { position : 'absolute', 'top' : top + scrollTop, left : left + scrollLeft } ).show();
- }
html代码:
- <a href="javascript:;" onclick="letDivCenter('#model')">点我让DIV始终显示在屏幕中间</a><br />
- <div>
- <div id="model" class="model">
- 这是内容(不过没有垂直居中显示)希望各位高手,能够补充。小弟在此谢过了。
- </div>
- </div>
运行一下看看效果吧。
接下来总结一下,将它们整合成一个。即,当弹出div层的时候,同时也要弹出遮罩层,好,废话不多说,看代码:
1。CSS样式:
- <style type="text/css">
- .mask {
- position: absolute; top: 0px; filter: alpha(opacity=60); background-color: #777;
- z-index: 1002; left: 0px;
- opacity:0.5; -moz-opacity:0.5;
- }
- .model{
- position: absolute; z-index: 1003;
- width:320px; height:320px; text-align:center;
- background-color:#0066FF; display: none;
- }
- </style>
2。Jquery代码:
- <script type="text/javascript">
- //兼容火狐、IE8
- function showMask(){
- $("#mask").css("height",$(document).height());
- $("#mask").css("width",$(document).width());
- $("#mask").show();
- }
- //让指定的DIV始终显示在屏幕正中间
- function letDivCenter(divName){
- var top = ($(window).height() - $(divName).height())/2;
- var left = ($(window).width() - $(divName).width())/2;
- var scrollTop = $(document).scrollTop();
- var scrollLeft = $(document).scrollLeft();
- $(divName).css( { position : 'absolute', 'top' : top + scrollTop, left : left + scrollLeft } ).show();
- }
- function showAll(divName){
- showMask();
- letDivCenter(divName);
- }
- </script>
3.HTML代码:
- <div id="mask" class="mask"></div>
- <a href="javascript:;" onclick="showMask()" >点我显示遮罩层</a><br />
- <a href="javascript:;" onclick="letDivCenter('#model')">点我让DIV始终显示在屏幕中间</a><br />
- <a href="javascript:;" onclick="showAll('#model')">点我显示所有</a><br />
- <div>
- <div id="model" class="model">
- 这是内容(不过没有垂直居中显示)希望各位高手,能够补充。小弟在此谢过了。
- </div>
- </div>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构