Jquery 移动站点上的返回顶部链接不';我不能在安卓上工作

Jquery 移动站点上的返回顶部链接不';我不能在安卓上工作,jquery,android,html,mobile,jquery-mobile,Jquery,Android,Html,Mobile,Jquery Mobile,我有一个有趣的问题。我正在建立一个面向移动设备的网站(请不要问这不是一个关于移动web应用程序的问题,它是一个简单的HTML/CSS/javascript网站)。 我们需要在所有页面的页脚中实现一个“返回顶部”链接,以便在小屏幕设备上更容易返回顶部 我现在将展示代码,只是想提到这在iphone/iPodtouch设备上,甚至在我的FF、safari和chrome桌面浏览器上都能完美地工作。但在安卓系统上,它就是不想工作 在我的android设备上重现错误的步骤: -向下滚动至页面底部。 -单击“

我有一个有趣的问题。我正在建立一个面向移动设备的网站(请不要问这不是一个关于移动web应用程序的问题,它是一个简单的HTML/CSS/javascript网站)。 我们需要在所有页面的页脚中实现一个“返回顶部”链接,以便在小屏幕设备上更容易返回顶部

我现在将展示代码,只是想提到这在iphone/iPodtouch设备上,甚至在我的FF、safari和chrome桌面浏览器上都能完美地工作。但在安卓系统上,它就是不想工作

在我的android设备上重现错误的步骤: -向下滚动至页面底部。 -单击“返回顶部”链接。 --页面很好地向上滚动,但随后会闪烁并再次向下滚动到页面底部

滚动事件似乎不会在后台停止,一旦scrollto功能完成,它会再次恢复滚动到底部。我的代码应该会杀死任何当前正在运行的动画,我希望可以解决这个问题。但事实并非如此

这是我的密码:

 $(document).ready(function() {
  $('a.linktop').click(function() {
    $('body,html').stop(true, true).animate({
        scrollTop: 0
    },
    250);
    return false;
  });
 });
任何帮助都将不胜感激。

我曾经

$('html, body').animate({scrollTop: 0}, 800); 
对于jQuery Mobile back-to-top插件,它在Android上运行,没有您遇到的问题


查看这里的代码

我尝试了很多不同的解决方案,包括上面建议的解决方案,它非常优雅,只是不适用于姜饼,需要jQ mobile

以下代码适用于iPhone、Android 2.2+,包括姜饼和常规浏览器,它只需要常规jQ。我在这个链接上找到了代码 并针对下面的例子进行了修改,我在iPhone4S、GalaxyII和一个旧的Android设备上测试了这个例子

<!DOCTYPE html>
<html>
<head>

  <script type='text/javascript' src='http://code.jquery.com/jquery-1.7.js'></script>

  <script type='text/javascript'>//<![CDATA[ 
    $(window).load(function(){
    $('.2top').click(function() {
            $('html, body').animate({ scrollTop: $('#top').offset().top }, 'slow');
        return false;
            });
    });//]]>  

  </script>

</head>
<body>
  <div id="top">go to the  bottom of this page</div>

  <p style="height:2200px">dddddd...</p>

  <a href="#" class="2top">back to top</a>

</body>
</html>

//  
转到本页底部
高度:2200px


我对“返回顶部”按钮也有同样的问题,在尝试了一些jquery替代方案后,我发现这个简单的html选项适用于“旧浏览器”,但它也适用于移动设备。似乎我们忘记了
#top
工作的老原因:

<body>
    <a id="top"></a>  
    <!-- content goes here -->
    <a href="#top">Back to top</a>
</body>

另一种方法是使用现有id:

<body>
    <div id="wrapper">
    <!-- content goes here -->
    <a href="#wrapper">back to top</a>
    </div>
</body>

资料来源:

我在2.3.6中遇到了同样的问题。在调用animate之前,我必须向您的单击侦听器添加“(this).blur();”,以使其正常工作。这样,在用户滚动到div顶部后,浏览器不会立即跳转到“.2top”按钮,因为它当前处于焦点位置。