2011-09-13 123 views
1

奇怪的問題,這是頁我目前工作:http://devel.spoorle.com/poc/jQuery的CSS鉻/ Safari瀏覽器

在底部有一個div稱爲頁腳,其中包含其他3周的div:logo_lower,annoucements_online和menu_lower。其中兩個有固定的寬度,logo_lower 406px和menu_lower 329px而annoucements_online得到它從jQuery腳本寬度:

var annoucementsWidth = $(window).width() - $("#menuLower").width() - $("#logoLower").width(); 
$("#annoucementsOnline").css("width",annoucementsWidth + "px"); 

對於Opera,火狐,甚至IE 8與工作完全正常,但我有問題,Safari和Chrome。 menu_lower div沒有顯示...任何想法它可能是什麼?我看到jQuery爲那些瀏覽器計算錯誤的$(widow).width()。我試圖把我的代碼放在$(window).load()中,但沒有成功。 這裏是divs:

div.logo_lower { 
width: 406px; 
height: 45px; 
display: inline-block; 
float: left; 
overflow: hidden; 
} 

div.annoucements_online { 
background: #362f2d; 
height: 45px; 
display: inline-block; 
overflow: hidden; 
} 

div.menu_lower { 
background: #362f2d; 
width: 329px; 
height: 45px; 
display: inline-block; 
float: right; 
overflow: hidden; 
} 
div.footer { 
width: 100%; 
height: 45px; 
position: fixed; 
bottom: 0; 
left: 0; 
z-index: 100; 
background: rgba(0, 0, 0, 0); 
} 
+0

我發現還有一件事是,當我把3個像素從annoucementsWidth,鉻顯示屬性格但它看起來像它缺少1個像素,真是奇怪的東西 – kamil

回答

0

好吧我固定它othere方式,只是我做產品消息的div通過5px的較小:

var annoucementsWidth = $(window).width() - $("#menuLower").width() - $("#logoLower").width() - 5; 
$("#annoucementsOnline").css("width",annoucementsWidth + "px"); 
0

試着得到這樣的寬度,而不是解壓jQuery。

document.documentElement.clientWidth 
+0

沒有幫助:(( – kamil

0

你的jQuery需要$(document).ready()$(window)去。另外,當我在Chrome上測試您的網站時,我會得到與Firefox相同的結果。

如果jQuery玩得不好,你總是可以去vanilla JavaScript routemore info),雖然這更復雜,因爲jQuery通常爲你做所有兼容性的東西。

+0

)所以,通過說「另外,當我在Chrome上測試你的網站時,我得到了與Firefox相同的結果。」你的意思是它工作正常,或者有錯誤Firefox? 我的代碼位於$(document).ready() – kamil