2011-09-07 93 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腳本來做到這一點(不要問:-) –