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"  
}); 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM