javascript - div弹出窗口不起作用

标签 javascript jquery html

我做错了什么? 当您单击类 divtop 时,它应该会在页面中间显示一个 div 弹出窗口。那时后页应该变得不可点击。退出或弹出窗口中的按钮将关闭它。

<html lang="en" class=" en">
<head>
    <title>My Test Popup</title>
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>

    <style type="text/css">
        .divtop
        {
            width: 800px; 
            height: 300px; 
            border:solid;
        }

        .divbottom
        {
            top: 400px; 
        }

        .localmenu {
            border: 1px solid black;
            background: #fff;
            margin-left : auto;
            top: 50px; width: 300px; 
            padding-top: 25px; 
            margin-top: 100px; 
            height: 150px;
        }

        .appContent{
            width: 800px; 
            border:solid;
            height: 600px;
            display: block;
            margin-left: auto;
            margin-right: auto;
        }

        .maincontent{
            width: 100%;
        }

    </style>

</head>
<body>
    <div class="appContent" >
        <div class="maincontent" >
            <div class="divtop" >Top</div>
            <div class="divtop divbottom"  >Bottom</div>
        </div>
        <div id="popup" style="width : 100%; height: 600px;display: none;">
            <div class='localmenu'>
                Text in Div Popup<br/>                        
                <button id="btnHide">Close</button><br/>
            </div>
        </div>
    </div>

    <script>

        $(document).ready(function() {
            $('.divtop').click(function() {
                $('#popup').show().css("top", "500px").animate({top: 50}, 200);
                $('.mainContent').css("background-color", "grey");
            });

            $('#btnHide').click(function() {
                $('#popup').hide();
            });

        });

    </script>

</body>
</html>

最佳答案

Fiddle

我在你的#popup 中添加了一些 CSS,现在它全部在 CSS 中(不是内嵌在 html 中)。还将您的 jQuery 动画更改为 50px,而不仅仅是 50。 我认为你需要对 CSS 做一些小的调整,比如 .localmenu 我不确定为什么你有两个 padding-top: 25px; margin-top: 100px;.

CSS

#popup {
    position:absolute;
    display: none;
    float: left;
    left:30%;
    z-index:1;
}
#popoverlay {
    position: fixed;
    display:none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.5;
}

jQuery

$(document).ready(function () {
    $('.divtop').click(function () {
        $('#popoverlay').show();
        $('#popup').show().css("top", "500px").animate({
            top: "50px"
        }, 200);
        $('.mainContent').css("background-color", "grey");
    });

    $('#btnHide').click(function () {
        $('#popup').hide();
        $('#popoverlay').hide();
    });

});

HTML

<div class="appContent">
    <div class="maincontent">
        <div class="divtop">Top</div>
        <div class="divtop divbottom">Bottom</div>
    </div>
    <div id="popup">
        <div class='localmenu'>Text in Div Popup
            <br/>
            <button id="btnHide">Close</button>
            <br/>
        </div>
    </div>
</div>

关于javascript - div弹出窗口不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17503662/

相关文章:

javascript - knockout : passing the current object to a method through a custom element

javascript - 如何使用clearTimeout停止特定的setTimeout循环

javascript - D3强制布局: how to update link color?

html - slider 背景图像在 Microsoft Edge 上看起来不太好

javascript - 检索在 Canvas 中输入的文本作为字符串

javascript - 如何删除以 javascript 为目标的 css 元素

Javascript 0 与空白

javascript - 左右滑动元素组Javascript

javascript - CSS - 使卡片盒比实际更大

javascript - 有没有办法切换 javascript 文件?