zoukankan      html  css  js  c++  java
  • [转载]JQuery 弹出层,始终显示在屏幕正中间

    原文:http://xutao5641745.iteye.com/blog/1310985

    上一篇是关于遮罩层的展示:   链接地址为:http://xutao5641745.iteye.com/blog/1310955

    1.让层始终显示在屏幕正中间:

          样式代码:

    Html代码 复制代码 收藏代码
    1. .model{   
    2.             position: absolute; z-index: 1003;    
    3.             320px; height:320px; text-align:center;   
    4.             background-color:#0066FF; display: none;   
    5.         }  
    .model{
    			position: absolute; z-index: 1003; 
         	 	320px; height:320px; text-align:center;
               	background-color:#0066FF; display: none;
    		}

          jquery代码:

    Js代码 复制代码 收藏代码
    1. //让指定的DIV始终显示在屏幕正中间   
    2.     function letDivCenter(divName){    
    3.         var top = ($(window).height() - $(divName).height())/2;    
    4.         var left = ($(window).width() - $(divName).width())/2;    
    5.         var scrollTop = $(document).scrollTop();    
    6.         var scrollLeft = $(document).scrollLeft();    
    7.         $(divName).css( { position : 'absolute''top' : top + scrollTop, left : left + scrollLeft } ).show();   
    8.     }  
    //让指定的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代码:

    Html代码 复制代码 收藏代码
    1. <a href="javascript:;" onclick="letDivCenter('#model')">点我让DIV始终显示在屏幕中间</a><br />  
    2. <div>  
    3.     <div id="model" class="model">  
    4.         这是内容(不过没有垂直居中显示)希望各位高手,能够补充。小弟在此谢过了。   
    5.     </div>  
    6. </div>  
    <a href="javascript:;" onclick="letDivCenter('#model')">点我让DIV始终显示在屏幕中间</a><br />
    <div>
    	<div id="model" class="model">
    		这是内容(不过没有垂直居中显示)希望各位高手,能够补充。小弟在此谢过了。
    	</div>
    </div>

    运行一下看看效果吧。

    接下来总结一下,将它们整合成一个。即,当弹出div层的时候,同时也要弹出遮罩层,好,废话不多说,看代码:

       1。CSS样式:

    Html代码 复制代码 收藏代码
    1. <style type="text/css">  
    2.     .mask {     
    3.             position: absolute; top: 0px; filter: alpha(opacity=60); background-color: #777;   
    4.             z-index: 1002; left: 0px;   
    5.             opacity:0.5; -moz-opacity:0.5;   
    6.         }   
    7.     .model{   
    8.             position: absolute; z-index: 1003;    
    9.             320px; height:320px; text-align:center;   
    10.             background-color:#0066FF; display: none;   
    11.         }   
    12.            
    13. </style>  
    <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; 
         	 	320px; height:320px; text-align:center;
               	background-color:#0066FF; display: none;
    		}
    		
    </style>

       2。Jquery代码:

    Html代码 复制代码 收藏代码
    1. <script type="text/javascript">  
    2.     //兼容火狐、IE8   
    3.     function showMask(){   
    4.         $("#mask").css("height",$(document).height());   
    5.         $("#mask").css("width",$(document).width());   
    6.         $("#mask").show();   
    7.     }   
    8.     //让指定的DIV始终显示在屏幕正中间   
    9.     function letDivCenter(divName){    
    10.         var top = ($(window).height() - $(divName).height())/2;    
    11.         var left = ($(window).width() - $(divName).width())/2;    
    12.         var scrollTop = $(document).scrollTop();    
    13.         var scrollLeft = $(document).scrollLeft();    
    14.         $(divName).css( { position : 'absolute', 'top' : top + scrollTop, left : left + scrollLeft } ).show();   
    15.     }   
    16.     function showAll(divName){   
    17.         showMask();   
    18.         letDivCenter(divName);   
    19.     }   
    20. </script>  
    <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代码:

    Html代码 复制代码 收藏代码
    1. <div id="mask" class="mask"></div>  
    2. <a href="javascript:;" onclick="showMask()" >点我显示遮罩层</a><br />  
    3. <a href="javascript:;" onclick="letDivCenter('#model')">点我让DIV始终显示在屏幕中间</a><br />  
    4. <a href="javascript:;" onclick="showAll('#model')">点我显示所有</a><br />  
    5. <div>  
    6.     <div id="model" class="model">  
    7.         这是内容(不过没有垂直居中显示)希望各位高手,能够补充。小弟在此谢过了。   
    8.     </div>  
    9. </div>  
    <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>
  • 相关阅读:
    0111. Minimum Depth of Binary Tree (E)
    0735. Asteroid Collision (M)
    0133. Clone Graph (M)
    1007. Minimum Domino Rotations For Equal Row (M)
    2018-8-10-win10-uwp-关联文件
    2018-2-13-win10-uwp-手动锁Bitlocker
    2018-2-13-win10-uwp-切换主题
    jquery开关灯
    jquery隔行变色
    jquery体验
  • 原文地址:https://www.cnblogs.com/dotaZhou/p/2858863.html
Copyright © 2011-2022 走看看