我有以下代码片段,可以将我的页面设置为首页上的特定点。这适用于所有浏览器和Android平板电脑。
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不会同时工作。所以我将它们分开,这似乎适用于Android,但不适用于Ipad设备(IOS)。所以在上面的例子中,他会做scrollLeft而不是scrollTop(在ipad上)。另外他们完美地工作。所以我的问题是:
我如何让ipad做两个动画?
答案 0 :(得分:1)
似乎webkit只能滚动某些webkit构建中的$(“html”)元素,请注意,因为这只是某些版本的webkit客户端的情况。 尝试:
$("html").animate({scrollLeft:100})
而不是
$("body")
我找不到很多关于此的文档,但这打破了我前一段时间制作的网站,并发现如果我嗅探webkit并将滚动动画应用于html而不是正文,这个解决方案有效.... / p>
希望有所帮助
答案 1 :(得分:0)
我在开发插件时遇到了同样的问题(http://kirkas.ch/ascensor/)。
当您在body / html上(特别是在绝对位置)同时动画scrollTop / scrollLeft时,ios浏览器中显然存在一个错误,而是尝试为特定容器设置动画。