Javascript jquery scrolltop和scrollleft工作得很好,但在iphone上它们都将另一条滚动到它';什么是本垒打?
我使用以下jquery代码垂直滚动到页面上的某个位置。这在所有浏览器上都非常有效,不会影响水平滚动位置,但是当我在iphone(在mobile safari上)上尝试它时,除了垂直滚动到正确的位置之外,它还会水平滚动到左侧。同样,如果我使用scrollleft,它将水平移动到正确的位置,但会返回到页面顶部。它在其他方面都很好,我在任何地方都找不到任何关于这个问题的参考资料,如果任何人遇到这个问题都能帮助我解决这个问题,我将不胜感激!我甚至不能一个接一个地做(先向左滚动,然后向右滚动),因为我最后做的任何一个都会取消前一个设置的滚动位置Javascript jquery scrolltop和scrollleft工作得很好,但在iphone上它们都将另一条滚动到它';什么是本垒打?,javascript,jquery,iphone,scroll,scrolltop,Javascript,Jquery,Iphone,Scroll,Scrolltop,我使用以下jquery代码垂直滚动到页面上的某个位置。这在所有浏览器上都非常有效,不会影响水平滚动位置,但是当我在iphone(在mobile safari上)上尝试它时,除了垂直滚动到正确的位置之外,它还会水平滚动到左侧。同样,如果我使用scrollleft,它将水平移动到正确的位置,但会返回到页面顶部。它在其他方面都很好,我在任何地方都找不到任何关于这个问题的参考资料,如果任何人遇到这个问题都能帮助我解决这个问题,我将不胜感激!我甚至不能一个接一个地做(先向左滚动,然后向右滚动),因为我最后
if($.browser.opera)
{
$('html').animate(
{
scrollTop: yscroll - 10
},
1000);
}
else
{
$('html, body').animate(
{
scrollTop: yscroll - 10
},
1000);
}
非常感谢你的帮助
Dave也许您可以先获取当前的scrollLeft(如果设置scrollLeft动画,则为scrollTop)值,然后在用户代理告诉您这是iphone时同时设置scrollLeft和scrollTop的动画
var isiPhone = navigator.userAgent.toLowerCase().indexOf("iphone");
var isiPad = navigator.userAgent.toLowerCase().indexOf("ipad");
var isiPod = navigator.userAgent.toLowerCase().indexOf("ipod");
这不是最好的,因为你会有一个不同的动画,但至少你会在相同的位置结束
iphone/pad出现了一些问题