1

在进行经典$.ajax(...)调用时,覆盖出现在屏幕上,但是当我向下滚动页面时,覆盖并没有覆盖整个页面。

我该怎么做才能使所有 ajax 启动的覆盖正确显示?

编辑:

这是代码:

<script type="text/css">
.overlay {
   position: fixed;
}
</script>

<script type="text/javascript">
$(document).ready(function (){

    $('a.trigger').click(function(event){
        event.preventDefault();
        var href = $(this).attr('href');
        $.ajax({
            type: 'POST',
            url: href,
            dataType: "json",
            data: {
                'somekey' : 'value'
            }});
        .done(function(data){
            // do something
        });

    });
});
</script>

编辑2:

我忘了说它是在 Zend 框架下的。

4

1 回答 1

1

你可以在css中设置

.overlay {
   position: fixed;
}

或更改滚动事件的位置

$(window).scroll(function() {
    $('.overlay').css({top: $('body').prop('scrollTop')+'px'})
});

在某些浏览器上,您需要使用window而不是'body'

于 2013-06-10T08:13:05.873 回答