在网页上,我需要测试是否存在水平滚动条(以便我以编程方式更改其他元素的css).有没有办法使用jquery(或纯javascript)获取该信息?
我测试过了
function isHorizontalScrollbarEnabled() {
return $(document).width()!=$(window).width();
}
但它似乎并不适用于所有浏览器(例如我最近测试过的三星手机不起作用).我需要它适用于所有浏览器,包括最近的移动设备.
谢谢!
编辑1
我测试了plalx和laconbass提供的解决方案,测试了IE8,Firefox,Chrome和iPad.适用于IE,Firefox和& Chrome但不是我想要的iPad.
问题似乎与移动设备上的缩放功能有关:即使我在iPad上放大时,会出现水平滚动条,文档,窗口和文档.主体宽度不会改变(三星手机也是同样的问题我今天早些时候测试过)
这是我用来测试的代码:
任何想法如何检测水平滚动条的存在,也可以在像iPad这样的移动设备上放大/缩小后工作?
最佳答案
//scrol 1px to the left
$(document).scrollLeft(1);
if($(document).scrollLeft() != 0){
//there's a scroll bar
}else{
//there's no scrollbar
}
//scroll back to original location
$(document).scrollLeft(0);
这是有效的,因为如果没有可用的滚动条,JQuery将无法滚动屏幕