0
CSSでいくつかの要素スタイルを変更しようとしていますが、特定のトランジションが必要ですが、別の親要素に移動すると機能しません私のアプリケーション)。親要素を変更するときにCSSトランジションが機能しない
var a = $('#a'), b = $('#b'), box = $('.box'), current = 0;
setInterval(function() {
if(++current % 2 == 0) {
box.appendTo(b).addClass('in-b').removeClass('in-a');
} else {
\t box.appendTo(a).addClass('in-a').removeClass('in-b');
}
}, 3000);
#a, #b {
position: absolute;
left: 0;
top: 0;
}
.box {
background-color: #50A000;
transition: width 0.5s, height 0.5s;
position: absolute;
top: 0;
left: 0;
width: 50px;
height: 50px;
}
.box.box.in-a {
height: 50px;
width: 50px;
}
.box.box.in-b {
height: 80px;
width: 80px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="a">
<div class="box in-a">
Hello world!
</div>
</div>
<div id="b"></div>
どのように私はこの問題を解決することができます:ここでは
は、最小限の例ですか?要素を別の親に移動したり、スタイルを変更したり、トランジションが正しく機能するようにする必要があります。
IIRC、あなたが削除して働くだけではなく、それらを移動するために、このためにDOMに要素を再度追加する必要があると思います。 –
@RyanGee '.remove()。appendTo()'を使っても動作しません –