検索

ホームページ  >  に質問  >  本文

アニメーションを使用して 2 つの Div を交換する方法

<p>div を大きなボックスとして表示し、他の 3 つの div をその下に小さなボックスとして表示したいプロジェクトがあります。小さなボックスをクリックすると、CSS トランジション効果を使用してサイズが変更され、 big box 位置を入れ替えて、動きやサイズの変更をスムーズにします。現在、jQueryを使用しようとしていますが、位置決めがまったく機能しません。これが私の現在の例です: </p> <p>https://jsfiddle.net/v3pmhawj/1/</p> <pre class="brush:php;toolbar:false;">$(function () { let { 左: x1、上: y1 } = $('.full-size-card').offset() $('.inactive-sheets .card').on('click', function() { let { 左: x2、上: y2 } = $(this).offset() let curr = $('.full-size-card') diffX = x2 - x1 とします。 diffY = y2 - y1 とします。 $(this).css({ 左: -diffX、 上: -diffY }) $(this).addClass('フルサイズカード') curr.css({ 左: diffX、 上: diffY }) curr.removeClass('フルサイズカード') }) })</pre> <p>他のライブラリや他のテクノロジーに関する提案がある場合は、喜んで耳を傾けます。 DOM内でdivを移動できるようにしたいのですが、私が知る限り、それを行うと、(私が知っている)唯一の方法は削除して再作成することであるため、それらにCSSトランジションエフェクトを適用することはできません。 -DOM に要素のコピーを追加します。 </p>
P粉191323236P粉191323236458日前494

全員に返信(1)返信します

  • P粉571233520

    P粉5712335202023-08-27 10:05:10

    トランジション効果を使用するだけで、アニメーション効果を簡単に作成できます。これを実現するには、コンテナの幅と高さ、および下部要素の上部と左の位置を定義する必要があります。

    クリックすると、小さくなる要素のクラスと大きくなる要素のクラスを交換するだけです。

    これは例を含むフィドルリンクです: https://jsfiddle.net/fkd3ybwx/210/

    HTML

    リーリー

    CSSS

    リーリー

    JavaScript

    リーリー

    返事
    0
  • キャンセル返事