国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

So tauschen Sie zwei Div mithilfe einer Animation aus
P粉191323236
P粉191323236 2023-08-26 13:55:33
0
1
667
<p>Ich habe ein Projekt, bei dem ich m?chte, dass ein Div als gro?es Feld und drei weitere Divs darunter als kleine K?stchen angezeigt werden. Wenn Sie auf ein kleines K?stchen klicken, ?ndert sich die Gr??e mithilfe eines CSS-übergangseffekts und es wird daran ausgerichtet Die gro?e Box Tauschen Sie die Positionen aus, um Bewegungen und Gr??en?nderungen reibungsloser zu gestalten. Momentan versuche ich, jQuery zu verwenden, aber die Positionierung funktioniert überhaupt nicht. Hier ist mein aktuelles Beispiel: </p> <p>https://jsfiddle.net/v3pmhawj/1/</p> <pre class="brush:php;toolbar:false;">$(function () { let { left: x1, top: y1 } = $('.full-size-card').offset() $('.inactive-sheets .card').on('click', function() { let { left: x2, top: y2 } = $(this).offset() let curr = $('.full-size-card') sei diffX = x2 - x1 sei diffY = y2 - y1 $(this).css({ links: -diffX, oben: -diffY }) $(this).addClass('full-size-card') curr.css({ links: diffX, oben: diffY }) curr.removeClass('full-size-card') }) })</pre> <p>Wenn jemand Vorschl?ge zu anderen Bibliotheken oder anderen Technologien hat, bin ich bereit, zuzuh?ren. Ich m?chte in der Lage sein, die Divs im DOM zu verschieben, aber soweit ich wei?, k?nnen Sie in diesem Fall keinen CSS-übergangseffekt auf sie anwenden, da die einzige M?glichkeit (die ich kenne) darin besteht, sie zu entfernen und erneut auszuführen -Fügen Sie eine Kopie des Elements im DOM hinzu. </p>
P粉191323236
P粉191323236

Antworte allen(1)
P粉571233520

您只需使用過渡效果就可以創(chuàng)建動畫效果。為了實現(xiàn)這一點,您需要定義容器的寬度和高度,以及底部元素的頂部和左側位置。

在點擊時,您只需交換將變小的元素的類和將變大的元素的類。

這是一個示例的fiddle鏈接: https://jsfiddle.net/fkd3ybwx/210/

HTML

<div class="card-container">
  <div class="card large">A</div>
  <div class="card small">B</div>
  <div class="card small">C</div>
  <div class="card small">D</div>
</div>

CSS

.card-container {
  position: relative;
}

.card {
  transition: all ease 1s;
  position: absolute;
  font-size: 24px;
  border: white 4px solid;
  box-sizing: border-box;
  cursor: pointer;
}

.small {
  width: 100px;
  height: 100px;
  background: blue;
  left: 0;
  top: 300px;
}

.small ~ .small {
  left: 100px;
  background: green;
}

.small ~ .small ~ .small {
  left: 200px;
  background: yellow;
}

.large {
  width: 300px;
  height: 300px;
  background: red;
  left: 0px;
  top: 0px;
}

JavaScript

const smallCards = document.querySelectorAll('.card');

smallCards.forEach((smallCard) => {
    smallCard.addEventListener('click', (event) => {
    const largeCard = document.querySelector('.large');
    
    largeCard.className = "card small";
    event.target.className = "card large";
  });
});
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage