Jquery事件保持堆叠,直到上一个事件结束才会启动

时间:2011-08-26 08:36:23

标签: javascript jquery

下面的代码基本上将所有图像淡化为接触类中的70%,然后当它悬停时,如果你开始悬停在多个图像上或者发生多个悬停事件时它的不透明度变为100%它会叠加所有事件并且不会t开始下一个事件,直到上一个事件完成。

$(".contact img").fadeTo("slow", 0.7); 
$(".contact img").hover(function(){
    var titleID = $(this).attr('id');
    $("#" + titleID).fadeTo("fast", 1); 
},function(){
    var titleID = $(this).attr('id');
    $("#" + titleID).fadeTo("slow", 0.7); // This sets the opacity back to 60% on mouseout
});

欢迎任何和所有帮助。

由于

1 个答案:

答案 0 :(得分:1)

动画正在排队。如果要中止当前动画,请致电.stop() [docs]

$(this).stop().fadeTo("fast", 1); 

正如@Richard在评论中提到的,似乎你可以使用$(this)。你正在做的是获取当前元素的ID,然后让jQuery使用选择器找到该元素。但是你已经有了对元素的引用......