1

嗨,我有一个关于图像翻转的问题,但这不是你想的那样。

我看过一个示例http://www.asos.com/并单击主页按钮(顶部导航最左侧)

您可以看到,当您翻转图像时,该图像保持突出显示,而其他图像变暗。

我知道这是用 jquery 完成的,但代码非常混乱。有没有人见过这个或知道怎么做?

谢谢

4

2 回答 2

2

首先:Firebug 是你的朋友。所采用的技术比人们想象的要简单:它们只是将图像的不透明度降低到 0.3。由于背景是黑色的,因此图像显得较暗。所以代码可能看起来像这样:

$('img.fade').live('mouseover', function (e) {
    var $this = $(this).fadeTo(500, 1.0);
    $('img.fade').not($this).fadeTo(500, .3);
);
$('img.fade').live('mouseout', function (e) {
    var $this = $(this);
    $('img.fade').not($this).fadeTo(500, 1.0);
);
于 2009-12-11T11:31:00.970 回答
1

快速解决方案(我猜它可以调整得更短):

<div class="images">
    <img src="http://www.google.com/google.jpg" />
    <img src="http://www.google.com/google.jpg" />
    <img src="http://www.google.com/google.jpg" />
    <img src="http://www.google.com/google.jpg" />
</div>

<script type="text/javascript">
$().ready(function(){
    $('.images img').hover(
        function(){
            $(this).parents('.images').find('img').not(this).animate({"opacity": "0.3"}, 200);
            $(this).animate({"opacity": "1"}, 200);
        }, 
        function(){
            $(this).animate({"opacity": "1"}, 200);
        }
    );
$('.images').bind('mouseleave',function(){$(this).find('img').animate({"opacity": "1"}, 200);});
});
于 2009-12-11T11:43:58.950 回答