当网页向下滚动时,中心屏幕上的Div不居中

时间:2012-12-14 18:02:19

标签: jquery

如何将div放在网站上?我有这样的剧本:

$(document).ready( function(){    

    $('.cod').click(function() {
    var div_name = $(this).attr('id');

    $('#overlay_window').load('/templates/' + div_name + '_template.php', function(){
    var div_width = $('#'+div_name+'-overlay').width();
    var div_height = $('#'+div_name+'-overlay').height();
    $('#overlay_window').css("width", ""+div_width+"px")
    $('#overlay_window').css("height", ""+div_height+"px")
    var div2_width = $('#overlay_window').width();
    var div2_height = $('#overlay_window').height();
    var window_width = $(window).width();
    var window_height = $(window).height();

    var widthoffset = (window_width - div2_width) / 2;  
    var heightoffset = (window_height - div2_height) / 2;   
    $('#overlay_window').css("left", "" + (widthoffset) + "px");
    $('#overlay_window').css("top", "" + (heightoffset + 750) + "px");
    $('#overlay_background').fadeIn(800);
    $('#overlay_window').fadeIn(800);
    });
    });




    });

但它将div从页面顶部居中,如果它向下滚动它会显示在顶部而不是我滚动的地方,有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

为什么不将它标记为position: fixed并将其保留在那里,无论用户在哪里滚动?然后你不需要任何形式的js欺骗。

然而,为了回答你当前的问题,似乎你提供了一次居中,你永远不会对窗口的滚动事件做出反应:

 $(window).scroll(function() { $('#divID').center(); });

答案 1 :(得分:0)

您可以在position:fixed;上使用#overlay_window。此div将固定到窗口中的位置而不是文档。