当我在篮子上徘徊(#cart_block_top),并且没有等待动画的结束突然将其从篮子中移除时,动画仍然会突然迅速结束,然后才会向上滑动。 这是代码:
$('#cart_block_top').hover(function() {
$("#cart_block_slide_content").stop(false, true).slideToggle('slow');
});
以下是链接:http://layot.prestatrend.com/ 有人帮忙吗?
答案 0 :(得分:0)
您还可以使用callback
来了解动画何时完成,然后调用
$("#cart_block_slide_content").stop(false, true).slideToggle('slow');
仅在没有动画正在进行时。
.slideToggle([duration] [,callback])
duration一个字符串或数字,用于确定动画运行的时间。
callbackA动画完成后调用的函数。
例如:
var isAnimationCompleted = true;
function onAnimationCompleted(){
isAnimationCompleted = true;
}
$('#1').hover(function(){
if (isAnimationCompleted){
$("#div").stop(false, true).slideToggle('slow',onAnimationCompleted);
isAnimationCompleted = false;
}
});
答案 1 :(得分:0)
.stop()需要两个布尔值,首先是它应该清除队列,这里你有假。第二个是它应该是jumptoend,你设置为true,所以当你停止该功能时它将跳转到动画的结尾。试试这个,效果不好,但看起来更好。
$("#cart_block_slide_content").stop().slideToggle(1000);