我正在使用JavaScript定位我的元素。为了完美地做到这一点,我必须获得大量的水平空间。很糟糕,$(window).width()
没有考虑滚动条的宽度。结果是这样的:如何在浏览器窗口上获取内容的实际宽度?
bad http://dl.dropbox.com/u/62862049/Screenshots/fb.png
这里,“第1页”包含在本来应该与窗口的右边框对齐一小格。那么,它确实 - 忽略了覆盖部分div的滚动条,将“Página1”的“1”扔到下一行。
我正在使用JavaScript定位我的元素。为了完美地做到这一点,我必须获得大量的水平空间。很糟糕,$(window).width()
没有考虑滚动条的宽度。结果是这样的:如何在浏览器窗口上获取内容的实际宽度?
bad http://dl.dropbox.com/u/62862049/Screenshots/fb.png
这里,“第1页”包含在本来应该与窗口的右边框对齐一小格。那么,它确实 - 忽略了覆盖部分div的滚动条,将“Página1”的“1”扔到下一行。
使用此功能
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();
未测试特别是因为我之前设法解决,但我的结果是相似的。 – MaiaVictor 2013-03-28 00:33:55
你为什么不只是使用'位置:固定;'?你不应该需要使用JavaScript来做到这一点。 – Blender 2013-03-05 04:50:33
可能重复[jQuery的 - 如何获得屏幕宽度没有滚动?](http://stackoverflow.com/questions/8339377/jquery-how-to-get-screen-width-without-scrollbar) – 2013-03-05 05:06:01