2015-02-08 105 views
1

我在我的投资组合网站中使用悬停效果,当您在两个方框之间来回移动时,这会起作用。任何想法如何解决它?悬停效果修复

my site

<script> 
    jQuery(document).ready(function(e) { 
     jQuery(".website a").hover(function() { 
      jQuery(".website a").not(this).animate({ opacity: 0.4}); 
     }, function() { 
      jQuery(".website a").animate({opacity: 1}); 
     }); 

    }); 

</script> 
+0

你正在努力实现可以通过CSS hover伪选择器可以轻松实现的效果。 – roshan 2015-02-08 13:02:48

+0

如果你可以在你的问题中包含一个简单的小提琴,那将会很有帮助。 – 2015-02-08 13:13:26

回答

1

貌似运用jQuery的.stop()方法的伎俩。在调用animate方法之前进行stop(true, true)方法调用。所以当前正在运行的动画在新的动画制作之前停止。

jQuery(document).ready(function (e) { 
    jQuery(".website a").hover(function() { 
     jQuery(".website a").not(this).stop(true, true).animate({ 
      opacity: 0.4 
     }); 
    }, function() { 
     jQuery(".website a").stop(true, true).animate({ 
      opacity: 1 
     }); 
    }); 

}); 

stop(true, true)方法调用第一true参数是布尔值,指示是否要删除排队动画以及。第二个参数是布尔值,指示是否立即完成当前动画。两者都默认为false。

Fiddle