2010-03-24 110 views
2

我正在为三个类似的选项卡式项目的一小部分功能。基本上,当你徘徊在一个,我希望两兄弟姐妹的不透明度达到50%。我建立了一个非常基本的jQuery的悬停事件,这里的页面代码...jQuery动画延迟

<div id="footer"> 
    <a href="#" class="footer-tabs" id="footer-seek">Seek</a> 
    <a href="#" class="footer-tabs" id="footer-experience">Experience</a> 
    <a href="#" class="footer-tabs" id="footer-gain">Gain</a> 
</div> 

......与对应的JS:

$('.footer-tabs').hover(
    function() { 
     $(this).siblings().animate({ opacity: .5 },500); 
    }, 
    function() { 
     $(this).siblings().animate({ opacity: 1 },500); 
    } 
); 

当你将鼠标悬停在一个一切都很正常,但是当你从一个徘徊到另一个,兄弟姐妹不会同时昏暗。我做了一个快速截屏以供参考。我确信有一个简单的方法可以使它正常工作,但我对此感到不知所措。提前致谢。

截屏:http://dl.dropbox.com/u/1762184/example.mp4

回答

3

要取消任何在对姐弟过程动画。这是stop()函数的用途。

$('.footer-tabs').hover(
    function() { 
     $(this).siblings().stop().animate({ opacity: .5 },500); 
    }, 
    function() { 
     $(this).siblings().stop().animate({ opacity: 1 },500); 
    } 
); 
+0

工作就像一个魅力,谢谢!我知道必须有一个简单的解决方案,而且这并不容易。 – Andrew 2010-03-24 15:46:57

0

试试这个:

$('.footer-tabs').hover(
    function() { 
     $(this).siblings().animate({ opacity: .5 },"fast"); 
    }, 
    function() { 
     $(this).siblings().animate({ opacity: 1 },"fast"); 
    } 
);