2013-03-05 61 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

相关问题