Javascript 如何制作HTML元素;加速“;就位

Javascript 如何制作HTML元素;加速“;就位,javascript,html,css,Javascript,Html,Css,在我的站点上,有一个元素位于上角,因此当用户向下滚动时,它会跟随用户。就像。我想做的是让它有一个更好的跟随效果,当用户滚动时保持不变,然后加速回到它的固定位置。我该怎么做 #follow { position: fixed; right: 30px; top: 70px; } 如果您更改为位置:绝对,然后使用.animate(),那么类似的操作如何。只需确保在每次滚动时使用.stop(),这样,如果您快速连续滚动两次,它就不会延迟 #follow { posi

在我的站点上,有一个元素位于上角,因此当用户向下滚动时,它会跟随用户。就像。我想做的是让它有一个更好的跟随效果,当用户滚动时保持不变,然后加速回到它的固定位置。我该怎么做

#follow {
    position: fixed;
    right: 30px;
    top: 70px;
}


如果您更改为
位置:绝对
,然后使用
.animate()
,那么类似的操作如何。只需确保在每次滚动时使用
.stop()
,这样,如果您快速连续滚动两次,它就不会延迟

#follow {
    position: absolute;
    right: 30px;
    top: 70px;
}


查看小提琴,看看它是否是你想要的:

如果你必须将
位置设置为
固定的
,我认为它需要一个复杂的动画来模拟移动(考虑到滚动时位置固定时css属性没有变化)


但是我认为如果你将
位置设置为
绝对值
,那么你可以将元素的
顶部
设置为
窗口的大小。pageYOffset
并简单地使用
。动画
和一些放松,你可以在滚动时真正使元素加速…

,因为你使用的是jQuery,可以使用
.animate()
属性设置顶部位置的动画。如果需要,可以使用
jQuery UI
#follow {
    position: absolute;
    right: 30px;
    top: 70px;
}
$(window).scroll(function(){ 
    $("#follow").stop();
    var window_top = $(window).scrollTop();
    $("#follow").animate({"top":window_top+70}, 500);
});