javascript – 测试页面是否有水平滚动条(计算机和移动设备)

在网页上,我需要测试是否存在水平滚动条(以便我以编程方式更改其他元素的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将无法滚动屏幕

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些