我有以下代码,当我们滚动时它会使弹出窗口居中,它会快速将itselef重新定位到中心。如何获得平滑效果,就好像它下降得非常平滑。
$(window).scroll(function () {
var top = ($(window).height() - $('.myPopUp').height()) / 2 + $(window).scrollTop();
$('.myPopUp').animate({ top: top }, 10);
});
我试着玩速度,但速度非常快。
答案 0 :(得分:2)
您只需要增加动画持续时间,目前为10毫秒,如下所示:
$(window).scroll(function () {
var top = ($(window).height() - $('.myPopUp').height()) / 2 + $(window).scrollTop();
$('.myPopUp').animate({ top: top }, 200);
});
动画帧的间隔为13毫秒,所以10毫秒将是一个瞬间变化,给它一个更长的持续时间,就像上面的200毫秒会给它一个更平滑的效果。对于快速滚动方案,您可能还需要.stop()
,如下所示:
$('.myPopUp').stop(true).animate({ top: top }, 200);