Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何创建弹出式div,使其在弹出时不会';不要一直滚动到顶部?_Jquery_Html_Css - Fatal编程技术网

Jquery 如何创建弹出式div,使其在弹出时不会';不要一直滚动到顶部?

Jquery 如何创建弹出式div,使其在弹出时不会';不要一直滚动到顶部?,jquery,html,css,Jquery,Html,Css,这是密码 <html> <head> <style> #container { border: 1px solid black; width: 100px; height: 20px; margin: 0 auto;

这是密码

    <html>
        <head>
            <style>
                #container {
                    border: 1px solid black;
                    width: 100px;
                    height: 20px;
                    margin: 0 auto;
                    text-align: center;
                }

                #fade {
                    display: none;
                    background: black;
                    opacity:0.4;
                    filter:alpha(opacity=50);
                    z-index: 1;
                    position: fixed; left: 0; top: 0;
                    width: 100%; height: 100%;
                }

                #window {
                    width: 200px;
                    height: 50px;
                    background: white;
                    position:absolute;
                    left:40%;
                    top:40%;
                    z-index: 2;
                    text-align: center;
                }
            </style>
            <script type="text/javascript" src='/libs/jquery/jquery.js'></script>
            <script>
                $(document).ready( function() {
                    $('#view').click( function() {
                        $('#fade').fadeIn();

                        var addWindow = "<div id='window'><h3>This is a popup window.</h3></div>"
                        $(addWindow).appendTo('body');
                    });

                    $('#fade').click( function() {
                        $('#fade, #window').fadeOut();
                    });
                });
            </script>
        </head>

        <body>
            <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
            <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
            <div id="container">
                <a href="#" id="view">
                    View window
                </a>
            </div>
            <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
            <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
            <div id="fade"></div>
        </body>
    </html>

#容器{
边框:1px纯黑;
宽度:100px;
高度:20px;
保证金:0自动;
文本对齐:居中;
}
#褪色{
显示:无;
背景:黑色;
不透明度:0.4;
过滤器:α(不透明度=50);
z指数:1;
位置:固定;左侧:0;顶部:0;
宽度:100%;高度:100%;
}
#窗口{
宽度:200px;
高度:50px;
背景:白色;
位置:绝对位置;
左:40%;
最高:40%;
z指数:2;
文本对齐:居中;
}
$(文档).ready(函数(){
$('#视图')。单击(函数(){
$('fade').fadeIn();
var addWindow=“这是一个弹出窗口。”
$(addWindow).appendTo('body');
});
$('#淡入')。单击(函数(){
$(“#淡入,#窗口”).fadeOut();
});
});









































































































































在一组长的
之后有一个链接,我故意这样做,只是说我的页面中有很多不同的对象,我的链接在页面的中间。这里发生的情况是,当您单击“查看窗口”时,将出现一个div/窗口,但我的窗口始终显示在页面顶部。它会一直向上滚动,然后我的窗口就会出现。我希望我的窗口显示在我单击“查看窗口”链接的相同位置,而不会一直滚动到顶部。可能吗?我想这只是css的问题,请帮忙!谢谢。

在我看来有两个问题:

  • 单击该链接将进入页面顶部
  • 弹出位置是从其容器中设置的
  • 1很简单,可以防止触发默认的单击事件

    2您可以通过在单击时动态设置顶部值来修复,以便根据屏幕定位弹出窗口。或者你可以用“位置固定”来代替


    我在这里设置了一个示例:

    是的,您必须执行sp00m编写的操作

    只是想让你知道

    顶部和左侧应为50%,左侧边缘和顶部边缘应分别为宽度和高度的一半。。
    这用于将弹出div精确居中。

    将代码更改为以下代码

               #window {
                    width: 200px;
                    height: 50px;
                    background: white;
                    position:absolute;
                    left:40%;
                    z-index: 2;
                    text-align: center;
                }
    
    
            <script>
                $(document).ready( function() {
                    $('#view').click( function() {
                        $('#fade').fadeIn();
    
                        var addWindow = "<div id='window'><h3>This is a popup window.</h3></div>"
                        $(addWindow).appendTo('body');
    
                        $('#window').css("top", ($('#view').offset().top) + "px");
                    });
    
                    $('#fade').click( function() {
                        $('#fade').fadeOut();
                        $('#window').remove();
                    });
                });
            </script>
    
    
            <div id="container">
                <div id="view">
                    View window
                </div>
            </div>
    
    #窗口{
    宽度:200px;
    高度:50px;
    背景:白色;
    位置:绝对位置;
    左:40%;
    z指数:2;
    文本对齐:居中;
    }
    $(文档).ready(函数(){
    $('#视图')。单击(函数(){
    $('fade').fadeIn();
    var addWindow=“这是一个弹出窗口。”
    $(addWindow).appendTo('body');
    $('#window').css(“top”,($('#view').offset().top)+“px”);
    });
    $('#淡入')。单击(函数(){
    $('#fade').fadeOut();
    $(“#窗口”).remove();
    });
    });
    视图窗口
    
    谢谢!第一次运行时,窗口出现在正确的位置,然后我单击了#淡入淡出,再次单击了#查看,但窗口显示在底部。如果您使用“查看窗口”的标记,请将其替换为div标记,然后重试。