Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery scrolltop和scrollleft工作得很好,但在iphone上它们都将另一条滚动到它';什么是本垒打?_Javascript_Jquery_Iphone_Scroll_Scrolltop - Fatal编程技术网

Javascript jquery scrolltop和scrollleft工作得很好,但在iphone上它们都将另一条滚动到它';什么是本垒打?

Javascript jquery scrolltop和scrollleft工作得很好,但在iphone上它们都将另一条滚动到它';什么是本垒打?,javascript,jquery,iphone,scroll,scrolltop,Javascript,Jquery,Iphone,Scroll,Scrolltop,我使用以下jquery代码垂直滚动到页面上的某个位置。这在所有浏览器上都非常有效,不会影响水平滚动位置,但是当我在iphone(在mobile safari上)上尝试它时,除了垂直滚动到正确的位置之外,它还会水平滚动到左侧。同样,如果我使用scrollleft,它将水平移动到正确的位置,但会返回到页面顶部。它在其他方面都很好,我在任何地方都找不到任何关于这个问题的参考资料,如果任何人遇到这个问题都能帮助我解决这个问题,我将不胜感激!我甚至不能一个接一个地做(先向左滚动,然后向右滚动),因为我最后

我使用以下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出现了一些问题