我有一个相对于滚动移动的元素.我使用jQuery:
$('#object').css('transform','translateY('+($(window).scrollTop()*.4)+'px)');
CSS
#object {
width:200px;
top:100%;
left:50%;
position:absolute;
}
这很好用,但直接移动我的元素没有任何缓和(延迟).
通过使用css设置转换,我得到了一些我正在寻找的效果,但如果我同时滚动则看起来不太好:
transition: 400ms ease;
是否有可能顺利完成,但是更优雅?
最佳答案 我自己想通了.问题是css“缓和”.轻松意味着它将开始缓慢并结束缓慢,这将导致滚动激活时始终处于缓慢启动状态.但是,如果你使用css“缓出”它将始终快速启动并最终减速.所以使用这个:
transition: 400ms ease-out;
或者如果你想自己定制缓和曲线,则为cubic-bezier:
transition: 400ms cubic-bezier(0.235, 0.615, 0.185, 0.995);