Jquery 悬停时,DIV展开并与其他DIV重叠

Jquery 悬停时,DIV展开并与其他DIV重叠,jquery,html,hover,jquery-animate,Jquery,Html,Hover,Jquery Animate,我想做一些非常简单的事情。我有许多格子状的DIV盒。当我将其中一个悬停时,我希望它从中间开始缓慢扩展,然后向下收缩。然而,如果没有其他DIV框被推到一边,我无法做到这一点。我希望悬停的DIV缓慢展开,与其他DIV框重叠,而不移动它们。 我已经用JQuery完成了其中的一些工作。 以下是我所拥有的: CSS: JQuery: <script type='text/javascript' src='animated.js'></script> <script type=

我想做一些非常简单的事情。我有许多格子状的DIV盒。当我将其中一个悬停时,我希望它从中间开始缓慢扩展,然后向下收缩。然而,如果没有其他DIV框被推到一边,我无法做到这一点。我希望悬停的DIV缓慢展开,与其他DIV框重叠,而不移动它们。 我已经用JQuery完成了其中的一些工作。 以下是我所拥有的:

CSS:

JQuery:

<script type='text/javascript' src='animated.js'></script>
<script type="text/javascript">
$(document).ready(function() {
    $("div").hover(function(){
        if (!$(this).hasClass('animated')) {
            $(this).dequeue().stop().animate({ width: "100px", height: "100px" });
    }
    }, function() {
        $(this).addClass('animated').animate({ width: "200px", height: "200px" }, "normal", "linear", function() {
        $(this).removeClass('animated').dequeue();
    });
});
</script>

$(文档).ready(函数(){
$(“div”).hover(函数(){
if(!$(this).hasClass('animated')){
$(this.dequeue().stop().animate({宽度:“100px”,高度:“100px”});
}
},函数(){
$(this).addClass('animated').animate({width:“200px”,height:“200px”},“normal”,“linear”,function()){
$(this.removeClass('animated').dequeue();
});
});
HTML:


以下是我希望它的外观: 之前: 之后:


谢谢!

我想我明白你想做什么了:D虽然我没有100%的肯定答案,但我有一个建议,试着玩一下div的z指数,也许把你悬停的div变成5或任何你想要的正数!

我想我明白你想做什么了:D尽管我没有一个100%的肯定答案,我有一个建议,试着玩一下div的z指数,也许把你正在悬停的那一个变成5或任何你想要的正数!

试着用负边距来欺骗页面,使其认为每个框仍然是100px 100px。所以除了anima将宽度和高度从100px调整到200px,还将边距从0调整到-50px

希望这有帮助:)

编辑

下面是一个工作示例:


尝试使用负边距来欺骗页面,使其认为每个框仍然是100px x 100px。因此,除了将宽度和高度从100px设置为200px外,还将边距从0设置为-50px

希望这有帮助:)

编辑

下面是一个工作示例:


为什么不使用绝对位置?或者另一种方法是在悬停的div上创建一个复制div,并将其动画化。

为什么不使用绝对位置?或者另一种方法是在悬停的div上创建一个复制div,并将其动画化。

只需使用CSS3即可


只需使用简单易用的CSS3即可

看看这个 请参阅以获取学分。

看看这个
看看这个例子,我想这就是你想要做的。

这是一个图像扩展器,但我相信div也能工作

在这里找到它:


看看这个例子,我想这就是你想要做的。

这是一个图像扩展器,但我相信div也能工作

在这里找到它:


我在图像中看到九个框,在您发布的标记中看到三个框。这让我困惑:)我在图像中看到九个框,在您发布的标记中看到三个框。这让我困惑:)太好了,谢谢!下面是一个工作示例:(注意对第一个选择器的更改)太好了,谢谢!下面是一个工作示例:(注意对第一个选择器的更改)虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能会无效。我想我的SO礼仪仍有点不完善。感谢您的提示,很高兴知道。虽然此链接可以回答问题,但最好在此处包含答案的重要部分,并提供链接供参考。如果链接页面发生变化,仅链接的答案可能会无效。我想我的SO礼仪仍有点不完善。谢谢你的提示,很高兴知道。
<script type='text/javascript' src='animated.js'></script>
<script type="text/javascript">
$(document).ready(function() {
    $("div").hover(function(){
        if (!$(this).hasClass('animated')) {
            $(this).dequeue().stop().animate({ width: "100px", height: "100px" });
    }
    }, function() {
        $(this).addClass('animated').animate({ width: "200px", height: "200px" }, "normal", "linear", function() {
        $(this).removeClass('animated').dequeue();
    });
});
</script>
<div id="dequeue" class="blocks">
<div id="sq1"></div>
<div id="sq2"></div>
<div id="sq3"></div>
</div>
var $imageWidth     = 92,    // with borders
$imageColumns    = 10;    // images across

$("#container > div .img").each(function(index) {
var $left = (index % $imageColumns * $imageWidth);
$(this).css("left", $left + "px");
});

$(".img a img").hover(function() {
    $(this).closest(".img").css("z-index", 1);
    $(this).stop(true,true).animate({ height: "200", width: "200", left: "-=55", top: "-=55" }, "fast");
    $("#name").css("color", "#242424").html($(this).attr("data-name"));
    $("#school").css("color", "#242424").html($(this).attr("data-school"));
}, function() {
$(this).closest(".img").css("z-index", 0);
$(this).stop(true,true).animate({ height: "90", width: "90", left: "+=55", top: "+=55"     }, "fast");
});​