jquery ajax覆盖仅覆盖屏幕的一半

时间:2013-06-10 08:04:56

标签: jquery ajax zend-framework overlay

在进行经典$.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>

EDIT2:

我忘了提到它是在Zend Framework下。

1 个答案:

答案 0 :(得分:1)

您可以在css中设置

.overlay {
   position: fixed;
}

或更改滚动事件的位置

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

在某些浏览器上,您需要使用window代替'body'