2011-09-07 94 views
0

我一直试图将#logo div定位在使用jQuery居中的#content div的中心,但结果不一致。有时有效,其他时间则不行。在iPad上的Safari通常会“失败”,结果是徽标被放置在当然不可用的菜单下。以下是中心代码:jQuery定位困境 - 无法准确定位元素

function ReflowElements() 
{ 
    var contentOffset = $("#content").offset(); 
    var contentWidth = $("#content").width(); 
    var menuWidth = $("#menu").width(); 

    var menuX = (contentOffset.left + contentWidth) - (menuWidth + 45); 
    var menuY = contentOffset.top + 15; 
    var menuPos = { left : menuX, top : menuY }; 

    var logoWidth = $("#logo").width(); 
    var logoX = (contentOffset.left + (contentWidth/2)) - (logoWidth/2); 
    var logoY = menuY + 15; 
    var logoPos = { left: logoX, top: logoY }; 

    $("#logo").offset(logoPos); 
    $("#menu").offset(menuPos); 
} 

网站。 http://restaurant-passagen.dk/

任何线索赞赏。

+1

很难说,不看具体的代码,但两件事情映入脑海。 1)outerWidth可能是你正在寻找的东西,只用width()计算可能是不真实的。 2)在$(document).ready之后宽度发生变化,尝试$(window).load –

+0

我实际上在加载事件后回流;也试图回流setTimeout,看看这可能是问题。 –

回答

1

哥们,CSS:

#logo { 
    display:block; 
    margin:auto; 
} 
+0

你仍然需要一个固定宽度的边距自动工作... – gislikonrad

+0

说谁? http://jsfiddle.net/AlienWebguy/nATSu/ – AlienWebguy

+0

这很好,但我真的想用jQuery脚本来做到这一点(不要问:-) –