无论如何要为固定元素添加缓动吗?我一直在环顾四周,但我无法找到答案。我真的不知道会是怎样的,也许就像......
$(window).scroll(function() {
$("#form").animate({position:"fixed", easing: 'swing'});
});
任何帮助将不胜感激^ ^谢谢!
编辑:我正在寻找的是当用户滚动时,固定元素显然会跟随窗口位置,但我想添加与滚动动作相比有一点延迟,具有缓动效果
答案 0 :(得分:1)
你必须使div绝对定位,z-indexed并且没有父级,然后在scroll事件上移动它。您可以通过scrollTop()知道滚动的像素数。像这样:
$(window).scroll(function(){
var offset=100;
//stop is called so easing doesn't affect while it is still scrolling.
$("form").stop().animate({top:($(window).scrollTop()+offset)+"px"}, 300, 'swing');
});
答案 1 :(得分:0)
请改为尝试:
$("#form").animate({position:"fixed"}, 300, 'swing');
答案 2 :(得分:0)
来自jQuery api(http://api.jquery.com/animate/):
jQuery库中唯一的缓动实现是默认的, 叫做摇摆,一个以恒定的速度前进,称之为 线性的。使用插件可以获得更多的缓动功能, 最值得注意的是jQuery UI suite。
$("form").animate({position:"fixed"}, 300, 'swing'); //swing being default