Rumah > hujung hadapan web > tutorial css > Bagaimanakah Saya Boleh Melumpuhkan dan Mendayakan Semula Peralihan CSS dengan Cekap dalam JavaScript?

Bagaimanakah Saya Boleh Melumpuhkan dan Mendayakan Semula Peralihan CSS dengan Cekap dalam JavaScript?

Linda Hamilton
Lepaskan: 2024-11-28 22:47:11
asal
443 orang telah melayarinya

How Can I Efficiently Disable and Re-enable CSS Transitions in JavaScript?

Melumpuhkan dan Mendayakan Semula Peralihan CSS

Dalam aplikasi web biasa, elemen DOM boleh tertakluk kepada pelbagai peralihan CSS. Walau bagaimanapun, mungkin terdapat keadaan di mana anda perlu melumpuhkan sementara kesan ini semasa operasi tertentu, seperti mengubah saiz elemen.

Hilang Upaya Elegan dan Mendayakan Semula

Untuk elegan lumpuhkan dan dayakan semula peralihan CSS, anda boleh menggunakan gabungan CSS dan JavaScript.

CSS Kelas:

Buat kelas CSS "notransition" untuk mengatasi sifat peralihan elemen:

.notransition {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}
Salin selepas log masuk

JavaScript:

Tanpa jQuery:

const someElement = document.getElementById("some-element");

// Disable transitions
someElement.classList.add('notransition');

// Perform CSS changes
doWhateverCssChangesYouWant(someElement);

// Trigger a reflow
someElement.offsetHeight;

// Re-enable transitions
someElement.classList.remove('notransition');
Salin selepas log masuk

Dengan jQuery:

const $someElement = $('#some-element');

// Disable transitions
$someElement.addClass('notransition');

// Perform CSS changes
doWhateverCssChangesYouWant($someElement);

// Trigger a reflow
$someElement[0].offsetHeight;

// Re-enable transitions
$someElement.removeClass('notransition');
Salin selepas log masuk

Penjelasan:

  1. Tambah kelas "notransition" untuk melumpuhkan peralihan.
  2. Gunakan mana-mana perubahan CSS yang diingini kepada elemen.
  3. Cetuskan aliran semula paksa dengan membaca sifat offsetHeight elemen.
  4. Alih keluar kelas "notransition" untuk mendayakan semula peralihan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melumpuhkan dan Mendayakan Semula Peralihan CSS dengan Cekap dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan