缓解固定位置Jquery

时间:2012-03-30 06:20:06

标签: javascript jquery css

无论如何要为固定元素添加缓动吗?我一直在环顾四周,但我无法找到答案。我真的不知道会是怎样的,也许就像......

$(window).scroll(function() { 
    $("#form").animate({position:"fixed", easing: 'swing'});
});

任何帮助将不胜感激^ ^谢谢!

编辑:我正在寻找的是当用户滚动时,固定元素显然会跟随窗口位置,但我想添加与滚动动作相比有一点延迟,具有缓动效果

3 个答案:

答案 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