0

这是代码:

$(".image").hover(
function() {
    $(this).animate({ height: "100", width: "100"}, "fast");
    $("image-two").css("z-index", "-1");
}, function() {
    $(this).animate({ height: "50", width: "50"}, "fast");
    $("image").css("z-index", "0");
    }
);

$(".image-two").hover(
    function() {
        $(this).animate({ height: "100", width: "100"}, "fast");
        $("image").css("z-index", "-1");
    }, function() {
        $(this).animate({ height: "50", width: "50"}, "fast");
        $("image").css("z-index", "0");
        }
);

<div class="main">
<img src="../images/templateone.png" class="image" alt=""/>
<img src="../images/templatetwo.png" class="image-two" alt=""/>
<script src="../javascript/gallery.js"></script>
</div>

.image {
position: relative;
width: 50px;
height: 50px;   
}

.image-two {
position: relative;
width: 50px;
height: 50px;
}

这里的重点是让一个盒子在另一个盒子上展开,而不让它们相互移动。我知道 z-index 需要定位,但position: relative;似乎并不适合我。Z-index 对我来说一直是一个灰色地带,我正在努力解决这个问题。我必须使用绝对定位还是我做错了什么?提前致谢。

4

2 回答 2

1

在这种情况下,您必须使用position:absolute适当的 z-index 检查http://jsfiddle.net/tbHDt/1/

于 2013-07-02T05:16:35.557 回答
0

是的,使用绝对定位并为图像二的左侧设置动画。图像的左侧默认为 0,两者的顶部也是如此。

.image {
    position: absolute;
    width: 50px;
    height: 50px;

}
.image-two {
   position: absolute;
   left: 55px;
   width: 50px;
   height: 50px;
}


$(".image-two").hover(
    function() {
        $(this).animate({ height: "100", width: "100", left:"5"}, "fast");
        $("image").css("z-index", "-1");
    }, function() {
        $(this).animate({ height: "50", width: "50", left: "55"}, "fast");
        $("image").css("z-index", "0");
        }
);
于 2013-07-02T05:18:10.337 回答