簡體   English   中英

jQuery Animate效果以移動div

[英]Jquery Animate effect to move div

我希望能夠在div過渡到新位置時向此簡單查詢添加動畫。

<div class="container">
    <div class="left-side-bar">
        <div class="long blue" id="1">
            1
        </div>
        <div class="short red" id="2">
            2
        </div>

    </div>

    <div class='middle-side-bar'>
        <div class='long green' id="3">
            3
        </div>

    </div>

    <div class='right-side-bar'>
        <div class='short yellow' id="4">
            4
        </div>
    </div>

</div>

CSS

.left-side-bar{
    clear: both;
    width: 32%;
    text-align: center;
    float: left;
    margin-top: 1%;
    margin-bottom: 100px;

}

.middle-side-bar{
    width: 32%;
    text-align: center;
    float: left;
    margin: 1% 0 1% 1.6%;
}

.right-side-bar{
    width: 32%;
    text-align: center;
    float: left;    
    margin: 1% 0 1% 1.6%;
}

.green {
    background-color: green;
}

.long {
    height: 300px;
}

.short {
    height: 200px;
}

.red {
    background-color: red;

}

.blue {
    background-color: blue;
}

.yellow {
    background-color:  yellow;
}

基本上,我希望將div作為動畫過渡移到新的位置,而不是簡單地顯示它。

這是jsfiddle 演示

不幸的是,replaceWith方法不適用於jQuery中的動畫。 相反,您可能需要找到解決方案的替代方法。 這是一個將紅色框逐漸轉換為黃色框的方法... http://jsfiddle.net/aeyg89rd/4/

我添加了以下jQuery,請注意,我使用offset()來獲取黃色框的left和top屬性,然后使用animate()將紅色框移至左側和頂部位置:

$(document).ready(function () {
    var num4 = $("#4").offset();
    $("#2").animate({ top: num4.top, left: num4.left }, 1000);
});

並且我為.red類更改了一些CSS屬性,以便可以使用上面的jQuery代碼移動它。 更具體地說,我將其位置更改為絕對位置,並為其設置了寬度尺寸:

.red {
    position: absolute;
    top: 320px;
    background-color: red;
    width: 150px;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM