jQuery点击弹出遮罩层(弹出模态框),点击模态框消失

本文介绍如何使用jQuery实现网页上的弹出层与遮罩效果,并提供了三种禁止页面滚动的方法。
<!DOCTYPE html>
<html>
<head>
    <title>jQuery弹出层 模态框</title>
    <script src="./jquery.min.js" type="text/javascript"></script>
    <style>
        .btn{
            height:100px;
        }
        .black_over{
            display: none;
            position: fixed;
            width: 100%;
            height: 100%;
            background-color: black;
            z-index:1001;
            top: 0;  /*不可或缺,至关重要*/
            left: 0;
            right: 0;
            left: 0;
            margin: auto;
            background-color: rgba(0,0,0,0.8);
        }
        .white_content {
            display: none;
            position: fixed;
            z-index:1002;
            overflow: auto;
        }
    </style>
    <script type="text/javascript">
        $(function () {
            //弹出隐藏层
            function ShowDiv(show_div,bg_div){
                document.getElementById(show_div).style.display='block';
                document.getElementById(bg_div).style.display='block' ;

                var _windowHeight = $(window).height(),//获取当前窗口高度
                        _windowWidth = $(window).width(),//获取当前窗口宽度
                        _popupHeight = $("#"+show_div).height(),//获取弹出层高度
                        _popupWeight = $("#"+show_div).width();//获取弹出层宽度
                _posiTop = (_windowHeight - _popupHeight)/2;
                _posiLeft = (_windowWidth - _popupWeight)/2;
                $("#"+show_div).css({"left": _posiLeft + "px","top":_posiTop + "px","display":"block"});//设置position
            };
            //关闭弹出层
            function CloseDiv(show_div,bg_div)
            {
                document.getElementById(show_div).style.display='none';
                document.getElementById(bg_div).style.display='none';
            };

            $(".btn").click(function () {
                var src = $(this).attr("src");
                $("#showcont").attr("src",src);
                ShowDiv('MyDiv','fade')
            });
            $("#fade").click(function () {
                CloseDiv('MyDiv','fade')
            });
        });

    </script>
</head>
<body>
<!--<input id="Button1" type="button" value="点击弹出层" onclick="ShowDiv('MyDiv','fade')" />-->
<!--图片请换成自己的,点击图片弹出-->
<img src="tu.png" alt="sd" class="btn" >
<img src="pic.jpg" alt="sd" class="btn" >
<!--弹出层时背景层DIV-->
<div id="fade" class="black_over">
</div>
<!--弹出层的内容-->

<div id="MyDiv" class="white_content">

<img src="tu.png" alt="" id="showcont">
</div>
</body>

</html>

  2补充 

弹出遮罩层后禁止页面滚动(可不写)

方法一:

设置body的CSS样式为
overflow:hidden

 

方法二:

$('.shade').bind( "touchmove", function (e) {  
   e.preventDefault();  
});  

方法三:

$("body,.main").height($(window).height()).css({  
  "overflow-y": "hidden"  
}); 

 

转载于:https://www.cnblogs.com/wu-hou/p/6323582.html

Jquery简单的弹出层带遮罩插件本文由梦三秋于2011年01月07日 23:00作成 jquery代码 $("#test1").click(function(){ $('#login').skygqbox(); }); -------------------------------------------------------------------------------- jquery代码 $("#autoClose").click(function(){ var message = "不好意思呀!我来也匆匆去也匆匆,实在太忙了,有太多的东西要学习了,像JqueryJquery插件、Wordpress插件、PHP啦,都要学呀,哥没空老是在这杵着呢!两秒后闪人!别想念哥呀!"; $(message).skygqbox({autoClose:2000}); }); -------------------------------------------------------------------------------- jquery代码 $("#right_top").click(function(){ $('#login').skygqbox({position:"right_top"}); }); -------------------------------------------------------------------------------- jquery代码 $("#right_middle").click(function(){ $('#login').skygqbox({position:"right_middle"}); }); -------------------------------------------------------------------------------- jquery代码 $("#right_bottom").click(function(){ $('#login').skygqbox({position:"right_bottom"}); }); -------------------------------------------------------------------------------- jquery代码 $("#top_middle").click(function(){ $('#login').skygqbox({position:"top_middle"}); }); -------------------------------------------------------------------------------- jquery代码 $("#left_top").click(function(){ $('#login').skygqbox({position:"left_top"}); }); -------------------------------------------------------------------------------- jquery代码 $("#left_middle").click(function(){ $('#login').skygqbox({position:"left_middle"}); }); -------------------------------------------------------------------------------- jquery代码 $("#left_bottom").click(function(){ $('#login').skygqbox({position:"left_bottom"}); }); -------------------------------------------------------------------------------- jquery代码 $("#bottom_middle").click(function(){ $('#login').skygqbox({position:"bottom_middle"}); });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值