Mengapa Peralihan CSS Saya Dilangkau atau Panggilan Balik Ditinggalkan dalam Permainan Saya?

Barbara Streisand
Lepaskan: 2024-11-01 16:09:02
asal
579 orang telah melayarinya

Why Is My CSS Transition Skipped or Callback Omitted in My Game?

Peralihan CSS Dilangkau atau Panggilan Balik Ditinggalkan

Dalam pertanyaan pelbagai segi ini, pembangun menyatakan kebingungan terhadap ketidakkonsistenan sekejap dalam peralihan CSS dan panggilan balik dalam projek permainan. Walaupun menggantikan jQuery dengan JavaScript tulen, percubaan untuk mengalihkan kedudukan projektil menggunakan CSS gagal berfungsi seperti yang dijangkakan, memerlukan tamat masa 1ms untuk memulakan peralihan. Tambahan pula, panggilan balik peralihan kadangkala gagal dilaksanakan, menyebabkan pembangun bingung.

Untuk menyelidiki selok-belok isu ini, kita mesti mengakui bahawa peralihan CSS bergantung pada perubahan dalam gaya pengiraan elemen. Apabila gaya sebaris ditetapkan, seperti dalam kes ini, penyemak imbas mungkin tidak mengemas kini gaya yang dikira serta-merta, mengakibatkan ketidakpadanan antara sifat unsur yang dijangka dan sebenar.

Apabila sifat peralihan digunakan, kiri dan atas dikira. nilai mungkin sudah sepadan dengan nilai yang dimaksudkan, meninggalkan peralihan tanpa tindakan untuk dilakukan. Oleh itu, ia dilangkau dan peristiwa tamat peralihan tidak dicetuskan.

Untuk membetulkannya, pembangun boleh menggunakan teknik untuk memaksa pengiraan semula gaya, seperti mengakses offsetHeight elemen atau mencetuskan aliran semula menggunakan kaedah DOM. Contohnya:

<code class="javascript">let animdiv = document.getElementById('animid');
animdiv.addEventListener("transitionend", function(event) { ... }, false);
// force a reflow
animdiv.offsetTop;
Object.assign(animdiv.style, {left: "100px", top: "100px" });</code>
Salin selepas log masuk

Dengan memaksa pengiraan semula gaya, gaya yang dikira akan dikemas kini, memastikan peralihan dapat menjejaki perubahan dalam kedudukan elemen dengan tepat dan melancarkan peristiwa peralihan dengan betul.

Atas ialah kandungan terperinci Mengapa Peralihan CSS Saya Dilangkau atau Panggilan Balik Ditinggalkan dalam Permainan Saya?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!