2013-03-05 59 views
0

我正在使用JavaScript定位我的元素。爲了完美地做到這一點,我必須獲得大量的水平空間。很糟糕,$(window).width()沒有考慮滾動條的寬度。結果是這樣的:如何在瀏覽器窗口上獲取內容的實際寬度?

bad http://dl.dropbox.com/u/62862049/Screenshots/fb.png

這裏,「第1頁」包含在本來應該與窗口的右邊框對齊一小格。那麼,它確實 - 忽略了覆蓋部分div的滾動條,將「Página1」的「1」扔到下一行。

+0

你爲什麼不只是使用'位置:固定;'?你不應該需要使用JavaScript來做到這一點。 – Blender 2013-03-05 04:50:33

+0

可能重複[jQuery的 - 如何獲得屏幕寬度沒有滾動?](http://stackoverflow.com/questions/8339377/jquery-how-to-get-screen-width-without-scrollbar) – 2013-03-05 05:06:01

回答

0

使用此功能

function scrollbar_width() { 

     var calculation_content = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div>'); 
     jQuery('body').append(calculation_content); 
     var width_one = jQuery('div', calculation_content).innerWidth(); 
     calculation_content.css('overflow-y', 'scroll'); 
     var width_two = jQuery('div', calculation_content).innerWidth(); 
     jQuery(calculation_content).remove(); 
     return (width_one - width_two); 

    } 

現在計算可用

var availableWidth = $(window).width() - scrollbar_width(); 
+0

未測試特別是因爲我之前設法解決,但我的結果是相似的。 – MaiaVictor 2013-03-28 00:33:55

相關問題