每个函数触发后清除Jquery动画距离?

时间:2013-10-01 05:42:33

标签: javascript jquery css jquery-animate

我正在尝试制作一个简单的粘性标题,在用户滚动时会跟随用户。

到目前为止,我有:

$(document).scroll(function() {
      var topmarg = $(document).scrollTop();    
      $('#stickyheader').animate({ marginTop : "+=" + topmarg + "px" }, "slow" );
  });

哪个有效,但它似乎将金额“添加”到marginTop,因此,例如,如果我向下滚动200px然后向上向上100px,#stickyheader实际上会向下移动300px,然后200倒然后100倒。

有没有办法对此进行修改?我应该使用.css()吗?

1 个答案:

答案 0 :(得分:1)

    var lastscroll=0;
    $(document).scroll(function() {

    var topmarg = $(document).scrollTop(); 
if(topmarg>lastscroll){             
      $('#stickyheader').animate({ marginTop : "+=" + topmarg + "px" }, "slow" );
}else{

     $('#stickyheader').animate({ marginTop :  topmarg + "px" }, "slow" );
}
  lastscroll =topmarg;

});