在网页上,我需要测试是否有水平滚动条(以便我以编程方式更改其他元素的 css)。有没有办法使用jquery(或纯javascript)获取这些信息?
我测试过
function isHorizontalScrollbarEnabled() {
return $(document).width()!=$(window).width();
}
但它似乎不适用于所有浏览器(例如不适用于我测试过的最近的三星手机)。我需要它与所有浏览器一起工作,包括最近的移动设备。
谢谢!
编辑 1
我测试了 plalx 和 laconbass 提供的解决方案,测试了 IE8、Firefox、Chrome 和 iPad。适用于 IE、Firefox 和 Chrome,但在 iPad 上不是我想要的。
这个问题似乎与移动设备上的缩放功能有关:尽管当我在 iPad 上放大时,会出现一个水平滚动条document
,window
并且document.body
宽度没有改变(我今天早些时候测试的三星手机也是同样的问题)。
这是我用来测试的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<title>test</title>
</head>
<body>
<div style="width: 500px; background: red;" id="test">click here to test</div>
<script type="text/javascript">
var i = 1;
$("#test").click(function(){
$(this).html("Test #" + (i++)
+ "<br>document width=" + $(document).width() + ", windows width=" + $(window).width()
+ "<br>document width=" + $(document).width() + ", body width=" + $(document.body).width()
);
});
</script>
</body>
</html>
知道如何检测在 iPad 等移动设备上放大/缩小后也可以工作的水平滚动条的存在吗?