Javascript jqueryanimate是一个非常有缺陷的工具

Javascript jqueryanimate是一个非常有缺陷的工具,javascript,jquery,Javascript,Jquery,我使用jqueryanimate在滚动100个或更多像素时设置图像的动画。然后,当我滚动回到顶部时,它需要回到原始状态。而不是在回来的路上,它只是一次又一次地上上下下,直到最后停下来 我怎样才能解决这个问题 $(文档).ready(函数(){ $(窗口)。滚动(函数(){ 如果($(this).scrollTop()>=100){ //警报(“滚动”); $('.flipje\u pas\u image')。设置动画({ 前-50名 }, 1000); } if($(this).scrollT

我使用jqueryanimate在滚动100个或更多像素时设置图像的动画。然后,当我滚动回到顶部时,它需要回到原始状态。而不是在回来的路上,它只是一次又一次地上上下下,直到最后停下来

我怎样才能解决这个问题

$(文档).ready(函数(){
$(窗口)。滚动(函数(){
如果($(this).scrollTop()>=100){
//警报(“滚动”);
$('.flipje\u pas\u image')。设置动画({
前-50名
}, 1000);
}
if($(this).scrollTop()<100){
$('.flipje\u pas\u image')。设置动画({
顶部:-450
}, 1000);
}
});

});您需要使用一个布尔状态,当满足使动画发生一次的if条件时,该状态将翻转,而不是使用eavery scroll事件

像这样

$(文档).ready(函数(){ var once=假; $(窗口)。滚动(函数(){

if($(this).scrollTop()>=100){
//警报(“滚动”);
如果(!一次){
一次=真
console.log('ssd',一次)
$('.flipje_pas_imag')。设置动画({
前-50名
}, 1000);
}
}
if($(this).scrollTop()<100){
如果(一次){
一次=假;
$('.flipje_pas_imag')。设置动画({
顶部:-450
}, 1000); 
}
}
})); });

if ($(this).scrollTop() >= 100) {
  //alert('scrolled');
  if(!once){
    once = true
      console.log('ssd' , once)

      $('.flipje_pas_imag').animate({
      top: -50
    }, 1000);
  }

}
if ($(this).scrollTop() < 100) {
  if(once){
    once = false;

    $('.flipje_pas_imag').animate({
    top: -450
  }, 1000); 
  }

}