2011-08-26 77 views
0

下面的代码基本上将所有图像淡入到联系人类中的70%,然后当它徘徊时,如果您开始将鼠标悬停在多个区域上,则不透明度会更改为100%图像或多个悬停事件发生时,它会堆叠所有事件,直到前一个事件完成才会开始下一个事件。jquery事件继续堆叠,直到上一个事件结束才会启动

$(".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 
}); 

任何和所有的帮助将不胜感激。

谢谢

+2

只是想知道,你为什么不只是'$(this).fadeTo(“fast”,1);'? –

回答

1

动画是排队。如果你想中止当前的动画,来电.stop()[docs]

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

由于@Richard在他的评论中提到,看来你可以只使用$(this)。你正在做的是获取当前元素的ID,然后让jQuery用选择器找到该元素。但你已经有一个元素的参考...

+0

@trojanfoe:你必须更频繁地刷新页面;) –

+0

这很难:(:D – trojanfoe

+0

:D ............. –