使用动画滚动时,jQuery闪烁

当jQueryanimate函数调用scrollTo函数时,我遇到了一个问题

这是我的代码:

$(“#按钮”)。单击(函数(){
$(“body”).animate({scrollTop:1400},“slow”);
});

当我点击按钮时,闪烁在主体滚动之前出现。例如,我在(滚动位置)1000上,当我单击按钮时,发生了以下情况:

  1. 页面/图像(滚动位置)1400出现,看起来我已经离开了
    至(位置)1400
  2. 然后它再次移动到(位置)1000,这发生得太快了
    看起来像一个闪烁
  3. 最后,它会像普通卷轴一样滚动到1400

在firefox上它总是出现,有时在chrome上也会出现

我也有同样的闪烁问题。这是由触发函数的链接中的哈希锚点引起的。使用preventDefault()修复了它:

$(“#按钮”)。单击(功能(e){
e、 预防默认值();
$(“body”).animate({scrollTop:1400},“slow”);
});

发表评论