Jquery 如何使用scrolltop和动画添加回调
对于IE8,我使用这段代码,当用户滚动到250或更多时,使用jQuery在页面底部设置横幅动画。问题是这非常慢,并且有很大的延迟,我相信这是因为animate事件触发了很多次,我需要一个写在.stop()中的回调;但我不知道该怎么/放在哪里。有什么想法吗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')
} 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在显示横幅之前不允许动画完成。再次感谢!:)