首頁 >web前端 >css教學 >為什麼我的 JavaScript `animate` 函數在 IE 中可以工作,但在 Chrome 中失敗?

為什麼我的 JavaScript `animate` 函數在 IE 中可以工作,但在 Chrome 中失敗?

Barbara Streisand
Barbara Streisand原創
2024-12-06 07:04:11547瀏覽

Why Does My JavaScript `animate` Function Work in IE but Fail in Chrome?

儘管在IE 中工作,JavaScript 函數「animate」在Chrome 中失敗

問題:

問題:

動畫函數,透過呼叫事件處理程序內容屬性,在Chrome 中無法執行,但在Internet中正常運行Explorer.

說明:

在 Chrome 中,全域 animate 函數被最近在 Web 動畫中引入的 Element.prototype.animate 所掩蓋。這種陰影是由於事件處理程序的詞法環境作用域引起的,該作用域優先考慮目標元素的作用域而不是全域作用域。

解決方案:
  • 解決這個問題,您可以:
function animate__() {
  var div = document.getElementById('demo');
  div.style.left = "200px";
  div.style.color = "red";
}
重新命名動畫函數:
    使用不同的名稱,例如animate__,以防止與Element.prototype.animate 函數混淆。
document.getElementById('demo').addEventListener('click', function() {
  animate().bind(window);
});
使用 bind() 方法: 將 animate 函數綁定到全域對象,以確保它始終在全域物件內執行範圍。

以上是為什麼我的 JavaScript `animate` 函數在 IE 中可以工作,但在 Chrome 中失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn