jquery动画scrollTop和scrollLeft不能在ipad上同时工作



我有以下代码片段,它将我的页面动画化到主页上的特定点。这在所有浏览器和安卓平板电脑上都能完美工作。

if($("body").hasClass("mobile")){
   $scrollable.animate({scrollTop: getPosition()[0]}, scrollSpeed,scrollEffect);
   $scrollable.animate({scrollLeft:  getPosition()[1]}, scrollSpeed,scrollEffect);
}else{
   $scrollable.animate({scrollTop: getPosition()[0],scrollLeft:getPosition()[1]},     scrollSpeed,scrollEffect);
}

当我使用移动版本时,scrollLeft和scrollTop无法同时工作。所以我把它们分开,这似乎在安卓系统中有效,但在Ipad设备(IOS)上无效。因此,在上面的例子中,他将执行scrollLeft,但不执行scrollTop(在ipad上)。分开来看,它们工作得很完美。所以我的问题是:

如何让ipad同时做这两个动画?

在一些webkit构建中,webkit似乎只能滚动$("html")元素,请注意,因为这只是webkit客户端的某些版本的情况。尝试:

$("html").animate({scrollLeft:100})

而不是

$("body")

我找不到很多关于这方面的文档,但这破坏了我不久前创建的一个网站,发现如果我搜索webkit并将滚动动画应用于html而不是正文,这个解决方案就会奏效。。。。

希望它能帮助

我在开发插件时也遇到过同样的问题(http://kirkas.ch/ascensor/)。

ios浏览器中显然有一个错误,当你在body/html上同时设置scrollTop/sollLeft的动画时(特别是在绝对位置上),而是尝试设置特定容器的动画。

最新更新