bug ScrollTop on Safari ipad



我做了一个响应式网站,在导航中使用bootstrap和anchor html。在我的导航栏中,我有一个标志,当用户点击它时,网站会滚动到顶部。一切都在桌面上运行。但在带有Safari的ipad上,当我点击徽标滚动到顶部时,这只起作用一次。然后我的导航栏出现了锚错误。

如何解决?

我的代码是:

$(document).ready(function(){
$('.brand').bind('click',function(){
    $('html,body').animate({scrollTop: 0}, 'normal');
});
});

更新

尝试"on"绑定方法

从Jquery 1.7+开始,更好的方法是使用"on"方法而不是绑定。

$(document).ready(function()
{
$(".brand").on("click", function ()
 { 
  $('body').animate({scrollTop: 0}, 'normal');
alert('image is clicked')
 });
});

感谢AB

我遇到了同样的问题。在某个地方读到,移动Safari不会滚动主体,它会移动视口,所以你需要滚动div。

如果你使用的是jQuery,你可以使用scrollTo插件或硬件加速的velocity.js-它对我很有效。注意,velocity要求滚动元素具有非静态位置(即相对、绝对、固定)

最新更新