Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使用scrolltop和动画添加回调_Jquery_Jquery Animate - Fatal编程技术网

Jquery 如何使用scrolltop和动画添加回调

Jquery 如何使用scrolltop和动画添加回调,jquery,jquery-animate,Jquery,Jquery Animate,对于IE8,我使用这段代码,当用户滚动到250或更多时,使用jQuery在页面底部设置横幅动画。问题是这非常慢,并且有很大的延迟,我相信这是因为animate事件触发了很多次,我需要一个写在.stop()中的回调;但我不知道该怎么/放在哪里。有什么想法吗 } else { $(window).scroll(function() { if ($(this).scrollTop() < 250) { if($("#carriage-promo").not(':animated')

对于IE8,我使用这段代码,当用户滚动到250或更多时,使用jQuery在页面底部设置横幅动画。问题是这非常慢,并且有很大的延迟,我相信这是因为animate事件触发了很多次,我需要一个写在.stop()中的回调;但我不知道该怎么/放在哪里。有什么想法吗

} else {
$(window).scroll(function() {
  if ($(this).scrollTop() < 250) {
     if($("#carriage-promo").not(':animated')){
        $("#carriage-promo").animate({
           height: 0
        },100);

     }
  } else {
     if($("#carriage-promo").not(':animated')){
        $("#carriage-promo").animate({
           height: '40px'
        },100);
     }
  }
});
}
}其他{
$(窗口)。滚动(函数(){
if($(this).scrollTop()<250){
如果($(“#运输促销”).not(':animated')){
$(“#运输宣传片”)。制作动画({
身高:0
},100);
}
}否则{
如果($(“#运输促销”).not(':animated')){
$(“#运输宣传片”)。制作动画({
高度:'40px'
},100);
}
}
});
}
试试这个:

$(window).scroll(function() {
  if ($(this).scrollTop() < 250) {
     if($("#carriage-promo").not(':animated')){
        $("#carriage-promo").stop(true,true).animate({
           height: 0
        },100);

     }
  } else {
     if($("#carriage-promo").not(':animated')){
        $("#carriage-promo").stop(true,true).animate({
           height: '40px'
        },100);
     }
  }
});
$(窗口)。滚动(函数(){
if($(this).scrollTop()<250){
如果($(“#运输促销”).not(':animated')){
$(“#运输促销”)。停止(真,真)。设置动画({
身高:0
},100);
}
}否则{
如果($(“#运输促销”).not(':animated')){
$(“#运输促销”)。停止(真,真)。设置动画({
高度:'40px'
},100);
}
}
});

这应该会帮助您,谢谢-我已经找到了答案,但您的链接仍然非常方便。:)谢谢你的快速回复,现在就试试吧!我假设这只是在再次启动之前停止动画?正确!从quee tooThis中删除挂起的动画看起来确实稍微好一点,我看不到任何排队的动画,但它仍然没有支持浏览器的CSS3版本那么快/流畅。:/我想不出什么可能会减缓这一进程。还有什么想法吗?编辑:玩了一下,现在已经非常完美了!感谢您的帮助:)最终使用true,false作为true,true在显示横幅之前不允许动画完成。再次感谢!:)