Rumah > hujung hadapan web > tutorial css > Mengapakah Fungsi `menghidupkan` JavaScript Saya Tidak Berfungsi dalam Chrome, Tetapi Berfungsi dalam IE?

Mengapakah Fungsi `menghidupkan` JavaScript Saya Tidak Berfungsi dalam Chrome, Tetapi Berfungsi dalam IE?

Barbara Streisand
Lepaskan: 2024-12-05 08:18:11
asal
343 orang telah melayarinya

Why Doesn't My JavaScript `animate` Function Work in Chrome, But Works in IE?

JS Function animate Tidak Berfungsi dalam Chrome, tetapi Berfungsi dalam IE

Fungsi JavaScript yang disediakan animate tidak berfungsi dalam Chrome tetapi beroperasi seperti yang diharapkan dalam Internet Explorer . Untuk menangani isu ini, adalah perlu untuk menyelidiki kekangan dan kemungkinan konflik yang timbul apabila menggunakan atribut kandungan pengendali acara.

Inti masalah ini berpunca daripada pembayangan tetingkap fungsi global anda.animate oleh Element.prototype .bernyawa. Fungsi baharu ini, yang diperkenalkan dalam Animasi Web, memanjangkan antara muka Elemen, mendayakan animasi terus pada elemen dengan cara berikut:

elem.animate({ color: 'red' }, 2000);
Salin selepas log masuk

Apabila mengendalikan acara menggunakan atribut kandungan, skop elemen sasaran mengatasi skop global . Oleh itu, nama fungsi anda animate bercanggah dengan kaedah baharu Element.animate.

Untuk menyelesaikan isu ini, terdapat dua pendekatan yang mungkin:

  1. Namakan semula Fungsi Anda:

Dengan menukar nama fungsi anda, anda boleh mengelakkan konflik dengan Element.prototype.animate. Sebagai contoh, anda boleh menggunakan:

function animate__() {
  var div = document.getElementById('demo');
  div.style.left = "200px";
  div.style.color = "red";
}
Salin selepas log masuk
  1. Gunakan Kaedah memohon:

Sebagai alternatif, anda boleh menggunakan kaedah guna untuk menentukan secara eksplisit skop yang betul untuk fungsi animasi anda. Pendekatan ini amat berguna jika anda perlu mengekalkan nama animasi.

Ubah suai kod anda seperti berikut:

document.getElementById('demo').onclick = function() {
  animate.apply(document.getElementById('demo'));
};
Salin selepas log masuk

Baris ini menggunakan skop yang betul pada fungsi animasi global anda apabila ia dicetuskan oleh acara onclick.

Atas ialah kandungan terperinci Mengapakah Fungsi `menghidupkan` JavaScript Saya Tidak Berfungsi dalam Chrome, Tetapi Berfungsi dalam IE?. 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