2016-08-04 8 views
0

現在、divをある場所から別の場所に移動していますが、いくつかのアニメーションでそれをやりたいのです。スライドさせて、もう一方のdivsを押し下げてください。これをどうやってやりますか?アニメーションを使用してdivを移動する方法

これまで私がこれまで持っていたことは次のとおりです。

var row = $('<div class="row">Another row inserted</div>'); 
 
$('.container').append(row); 
 

 
$('.button').click(function() { 
 
\t $('.row').addClass('row-changed'); 
 
\t $('.container > div:nth-child(2)').after(row); 
 
});
.row { 
 
    color: blue; 
 
} 
 
.row-changed { 
 
    color: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class='container'> 
 
    <button class='button'>Move</button> 
 
    <div class='row'>Row here</div> 
 
    <div class='row'>Row here</div> 
 
    <div class='row'>Row here</div> 
 
    <div class='row'>Row here</div> 
 
    <div class='row'>Row here</div> 
 
</div>

+0

いわゆる "FLIP" の方法を試してみてください。 https://aerotwist.com/blog/flip-your-animations/ – gcampbell

答えて

0

に役立つかもしれない。この1

var row = $('<div class="row">Another row inserted</div>'); 
 
$('.container').append(row.hide().slideDown()); 
 

 
$('.button').click(function() { 
 
    $('.row').addClass('row-changed'); 
 

 
    var clone = row.clone().css("position", "absolute"); 
 
    $('.container').append(clone); 
 
    row.css("visibility", "hidden"); 
 

 
    var sel = $('.container > div:nth-child(2)'); 
 
    sel.after(row.hide().slideDown()); 
 
    var position = sel.next().position(); 
 

 
    clone.animate({ 
 
     left: position.left, 
 
     top: position.top 
 
    }, 400, function() { 
 
     clone.remove(); 
 
     row.css("visibility", "visible"); 
 
    }); 
 
});
.row { 
 
    color: blue; 
 
} 
 
.row-changed { 
 
    color: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class='container'> 
 
    <button class='button'>Move</button> 
 
    <div class='row'>Row here</div> 
 
    <div class='row'>Row here</div> 
 
    <div class='row'>Row here</div> 
 
    <div class='row'>Row here</div> 
 
    <div class='row'>Row here</div> 
 
</div>

+0

私が探していたものとほぼ同じですが、それは良いスタート地点です!ありがとう –

関連する問題