Rumah > hujung hadapan web > tutorial css > Mengapakah Fungsi `animate()` JavaScript Saya Terputus dalam Animasi Web Chrome?

Mengapakah Fungsi `animate()` JavaScript Saya Terputus dalam Animasi Web Chrome?

DDD
Lepaskan: 2024-12-08 09:45:14
asal
266 orang telah melayarinya

Why Does My JavaScript `animate()` Function Break in Chrome's Web Animations?

JS Function animate Mungkin Pecah dalam Chrome Akibat Animasi Web

Kod JavaScript ini cuba menghidupkan elemen HTML bernama "demo" dengan menukar kedudukan dan warnanya. Walau bagaimanapun, ia gagal berfungsi dalam Chrome.

function animate() {
  var div = document.getElementById('demo');
  div.style.left = "200px";
  div.style.color = "red";
}
Salin selepas log masuk

Masalahnya

Dalam Chrome, isunya terletak pada fungsi global animate() yang ditindih oleh yang baru kaedah yang diperkenalkan pada prototaip Elemen dalam Animasi Web. Ini bermakna fungsi global tidak lagi boleh diakses dalam skop pengendali acara.

Penyelesaian

Untuk menangani masalah ini, pertimbangkan pilihan berikut:

  • Namakan semula Fungsi: Namakan semula animasi untuk mengelakkan konflik dengan kaedah prototaip, seperti animate__.
function animate__() {
  // ... same code as above ...
}
Salin selepas log masuk
  • Gunakan Kaedah ikatan JavaScript: Ikat fungsi animasi global pada skop pengendali acara.
document.getElementById('demo').onclick = animate.bind(this);
Salin selepas log masuk
  • Gunakan Kaedah Native animate() Element: Manfaatkan kaedah animate() asli pada elemen sasaran secara langsung.
document.getElementById('demo').animate([
  { left: "200px" },
  { color: "red" }
], 2000);
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapakah Fungsi `animate()` JavaScript Saya Terputus dalam Animasi Web Chrome?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan