如何在JavaScript中确定水平滚动条的高度或垂直滚动条的宽度?
发布于 2009-06-12 14:37:09
我还没有在Alexandre Gomes Blog上尝试过。如果对你有效,请让我知道。
function getScrollBarWidth () {
var inner = document.createElement('p');
inner.style.width = "100%";
inner.style.height = "200px";
var outer = document.createElement('div');
outer.style.position = "absolute";
outer.style.top = "0px";
outer.style.left = "0px";
outer.style.visibility = "hidden";
outer.style.width = "200px";
outer.style.height = "150px";
outer.style.overflow = "hidden";
outer.appendChild (inner);
document.body.appendChild (outer);
var w1 = inner.offsetWidth;
outer.style.overflow = 'scroll';
var w2 = inner.offsetWidth;
if (w1 == w2) w2 = outer.clientWidth;
document.body.removeChild (outer);
return (w1 - w2);
};
发布于 2013-09-26 05:10:20
使用jQuery,您可以将Matthew Vines的答案缩短为:
function getScrollBarWidth () {
var $outer = $('<div>').css({visibility: 'hidden', width: 100, overflow: 'scroll'}).appendTo('body'),
widthWithScroll = $('<div>').css({width: '100%'}).appendTo($outer).outerWidth();
$outer.remove();
return 100 - widthWithScroll;
};
发布于 2014-04-01 14:33:23
如果您正在寻找一种简单操作,只需混合使用普通dom js和jquery,
var swidth=(window.innerWidth-$(window).width());
返回当前页面滚动条的大小。(如果它可见,否则将返回0)
https://stackoverflow.com/questions/986937
复制相似问题