jQuery的scrollLeft不工作在Android(jquery scrollLeft not

2019-08-01 00:29发布

下面的代码是不是在Android浏览器的工作!

我如何解决它?

<input id="sannn" type="button" value="SAN" />
<div id="sann" style="width:640px; height:200px; overflow:scroll; border:solid 1px red;">
    <div style="border:solid 1px green; width:3000px; height:200px;">4545</div>
</div>

$('#sannn').bind('click', function () {
    $('#sann').scrollLeft(10);
});

Answer 1:

看起来它是在Android浏览器中的错误4.0.3+

http://code.google.com/p/android/issues/detail?id=38505&thanks=38505&ts=1350315570

38505期:DOM元素scrollLeft二传手不会Android浏览器工作4.0.3+

在div包装为相对具有溢出隐藏和特定的宽度和高度位置。 使用在内部DIV,并通过jQuery的内联样式左侧位置玩(你要移动的格)的绝对位置。

如果你真的需要滚动条。 在jQuery UI的滑块可能会有所帮助: http://jqueryui.com/slider/



Answer 2:

我跑进与Zepto.js同样的问题。 我可以先禁用溢出来解决此问题:滚动滚动元件上,像这样:

$("#element-to-scroll").css({'overflow': 'hidden'}).scrollLeftTo(newXPos, 250).css({'overflow': 'scroll');


文章来源: jquery scrollLeft not working on Android