我有以下代码片段,它将我的页面动画化到主页上的特定点。这在所有浏览器和安卓平板电脑上都能完美工作。
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的动画时(特别是在绝对位置上),而是尝试设置特定容器的动画。