简单遮罩层

效果:

下载:/Files/Jaylong/遮罩层.rar

1、heml页面的源码:

 <script type="text/javascript" src="jquery-1.4.1.js"></script>
  <script type="text/javascript" src="Noname3.js"></script>
   <link rel="stylesheet" type="text/css" href="Noname2.css"> 

 <div id="con"><span id="click"><a href="#">点击我</a></span></div>
  <div id="shade">我是弹出的遮罩层
    <div id="closeBtn">关闭</div>
  </div>

2.css文件

 

复制代码
 #con
         
{
            margin
:200px;
         
}
        #shade
        
{
            display
: none;
            position
: absolute;/*设置为绝对定位*/
            width
: 400px;
            height
: 200px;
            border
: #bfe5b3 solid 1px;
            z-index
: 200;/*设置层叠*/
            background
: #fff;
        
}
           
/***遮罩层****/
        #greybackground
        
{
            background
: #000;
            display
: block;
            z-index
: 100;
            width
: 100%;
            position
: absolute;
            top
: 0;
            left
: 0;
        
}
        #closeBtn
        
{
             position
: absolute;
            top
: 10px;
            left
: 340px;
        
}
复制代码

 

3.js代码

 

复制代码
$(function () {
    
var screenwidth, screenheight, mytop, getPosLeft, getPosTop
    screenwidth 
= $(window).width();
    screenheight 
= $(window).height();
    
//获取滚动条距顶部的偏移
    mytop = $(document).scrollTop();
    
//计算弹出层的left
    getPosLeft = screenwidth / 2 - 200;
    
//计算弹出层的top
    getPosTop = screenheight / 2 - 150;
    
//css定位弹出层
    $("#shade").css({ "left": getPosLeft, "top": getPosTop });
    
//当浏览器窗口大小改变时
    $(window).resize(function () {
        screenwidth 
= $(window).width();
        screenheight 
= $(window).height();
        mytop 
= $(document).scrollTop();
        getPosLeft 
= screenwidth / 2 - 200;
        getPosTop 
= screenheight / 2 - 150;
        $(
"#shade").css({ "left": getPosLeft, "top": getPosTop + mytop });
    });
    
//当拉动滚动条时,弹出层跟着移动
    $(window).scroll(function () {
        screenwidth 
= $(window).width();
        screenheight 
= $(window).height();
        mytop 
= $(document).scrollTop();
        getPosLeft 
= screenwidth / 2 - 200;
        getPosTop 
= screenheight / 2 - 100;
        $(
"#shade").css({ "left": getPosLeft, "top": getPosTop + mytop });
    });
    
//点击链接弹出登录窗口
    $("#click").click(function () {
        $(
"#shade").fadeIn("slow"); //toggle("slow");    
        //获取页面文档的高度
        var docheight = $(document).height();
        
//追加一个层,使背景变灰
        $("body").append("<div id='greybackground'></div>");
        $(
"#greybackground").css({ "opacity""0.5""height": docheight });
        
return false;
    });
    
//点击关闭按钮
    $("#closeBtn").click(function () {
        $(
"#shade").fadeOut("slow"); ////hide();
        //删除变灰的层
        $("#greybackground").remove();
        
return false;
    });
});
复制代码

 

 

posted @   流星剑  阅读(728)  评论(0)    收藏  举报
编辑推荐:
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
· 记一次 .NET某固高运动卡测试 卡慢分析
· 微服务架构学习与思考:微服务拆分的原则
· 记一次 .NET某云HIS系统 CPU爆高分析
· 如果单表数据量大,只能考虑分库分表吗?
阅读排行:
· 7 个最近很火的开源项目「GitHub 热点速览」
· DeepSeekV3:写代码很强了
· 记一次 .NET某固高运动卡测试 卡慢分析
· Visual Studio 2022 v17.13新版发布:强化稳定性和安全,助力 .NET 开发提
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
点击右上角即可分享
微信分享提示