Jquery 移动站点上的返回顶部链接不';我不能在安卓上工作
我有一个有趣的问题。我正在建立一个面向移动设备的网站(请不要问这不是一个关于移动web应用程序的问题,它是一个简单的HTML/CSS/javascript网站)。 我们需要在所有页面的页脚中实现一个“返回顶部”链接,以便在小屏幕设备上更容易返回顶部 我现在将展示代码,只是想提到这在iphone/iPodtouch设备上,甚至在我的FF、safari和chrome桌面浏览器上都能完美地工作。但在安卓系统上,它就是不想工作 在我的android设备上重现错误的步骤: -向下滚动至页面底部。 -单击“返回顶部”链接。 --页面很好地向上滚动,但随后会闪烁并再次向下滚动到页面底部 滚动事件似乎不会在后台停止,一旦scrollto功能完成,它会再次恢复滚动到底部。我的代码应该会杀死任何当前正在运行的动画,我希望可以解决这个问题。但事实并非如此 这是我的密码:Jquery 移动站点上的返回顶部链接不';我不能在安卓上工作,jquery,android,html,mobile,jquery-mobile,Jquery,Android,Html,Mobile,Jquery Mobile,我有一个有趣的问题。我正在建立一个面向移动设备的网站(请不要问这不是一个关于移动web应用程序的问题,它是一个简单的HTML/CSS/javascript网站)。 我们需要在所有页面的页脚中实现一个“返回顶部”链接,以便在小屏幕设备上更容易返回顶部 我现在将展示代码,只是想提到这在iphone/iPodtouch设备上,甚至在我的FF、safari和chrome桌面浏览器上都能完美地工作。但在安卓系统上,它就是不想工作 在我的android设备上重现错误的步骤: -向下滚动至页面底部。 -单击“
$(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”按钮,因为它当前处于焦点位置。