我有一个jQuery脚本,它接受一个img src,将src放入隐藏的div中,并在悬停请求img时用动画放大img。但是,当我从img跳到img时,clearQueue
或stop
无法正常工作。
在这个示例中,当我从img缓慢跳到另一个img时,它可以正常运行,但是当我快速跳转时,img在img和img之间的淡出越来越多。
我想要的就是能够快速或慢速地从img悬停到img,并且不会留下任何队列。
如果有人能帮助我,我会很高兴。
以下是代码:
$(document).ready(function(){
$(".thumb").hover(function(e) {
$('#popm').css('left',e.pageX+50);
$('#popm').css('top', e.pageY+50);
e.preventDefault();
var src= $(this).attr("src");
$('.popimg').attr({"src": src});
$('#popm').stop().fadeIn(100);
$('.popimg').stop()
.animate({
width: '145px', /* Set new width */
height: '145px' /* Set new height */
}, 200);
}, function() {
$('#popm').stop().fadeOut(100);
$('.popimg').stop()
.animate({
width: '45px', /* Set new width */
height: '45px' /* Set new height */
}, 200);
});
});
答案 0 :(得分:1)
您可能希望.stop(true, true)
而非.stop()
。
jQuery.stop()的文档明确指出stop有两个参数,首先是一个布尔值来清除动画队列:
.stop([clearQueue,] [jumpToEnd])
clearQueue - 一个布尔值,指示是否也删除排队的动画。默认为false。
jumpToEnd - 一个布尔值,指示是否立即完成当前动画。默认为false。