2014-01-23 161 views
0

我有一个弹出窗口我试图动态调整大小并保持水平居中。由于弹出窗口需要在移动和桌面环境下工作,为了处理重新调整窗口大小并删除窗口宽度(如果窗口宽度小于弹出窗口的max-width),我写了一些jQuery。这一切都按照它应该的方式工作,除了每当我缓慢调整窗口大小时,弹出菜单默认为拥抱左边而不是保持居中。这是我的代码,任何帮助将不胜感激,因为CSS仍然在我头上。Jquery窗口调整大小错误

的jQuery:

$(window).resize(function(){ 
    var w = $('.body').width(); 
    if (w > 1000) { 
     $('.popup_modal').css({"left": (w - 1000)/2 + "px"}); 
    } else if (w < 1000) { 
     $('.popup_modal').css({"left": "0px"}); 
    } 
}); 

CSS:

.popup_modal { 
    display: none; 
    width: 100%; 
    max-width: 1000px; 
    float: left; 
    background: #fff; 
    border: 1px solid #d4d4d4; 
    border-radius: 3px; 
    box-shadow: 0px 0px 5px #ccc; 
    position: relative; 
    margin-top: 20px; 
    padding: 20px; 
} 

谢谢!

+2

你真的对你的身体称为类'.body'?或者是一个错字? – Chad

+1

我的第一个想法是为什么你使用float:left? – Cam

+0

@Chad这是一个错字,从窗口大小调整代码的另一个答案得到了。将它改为$(window).width似乎有诀窍。谢谢! – iamthereplicant

回答

0

更改此代码:

$(window).resize(function(){ 
    var w = $(window).width; 
    if (w > 1000){ 
     $('.popup_modal').css({"left" : (w-1000)/2 + "px"}); 
    } else if (w < 1000){ 
     $('.popup_modal').css({"left" : "0px"}); 
    } 
}); 
+0

已经知道了,但有一些功劳:) – iamthereplicant

+0

哦,很好的:)我很高兴你发现这一点 –