アニメーションを使用して 2 つの Div を交換する方法
P粉191323236
P粉191323236 2023-08-26 13:55:33
0
1
470
<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粉191323236
P粉191323236

全員に返信(1)
P粉571233520

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

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

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

HTML

リーリー

CSSS

リーリー

JavaScript

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!