ホームページ > ウェブフロントエンド > CSSチュートリアル > JavaScript の「animate」関数が IE では機能するのに、Chrome では失敗するのはなぜですか?

JavaScript の「animate」関数が IE では機能するのに、Chrome では失敗するのはなぜですか?

Barbara Streisand
リリース: 2024-12-06 07:04:11
オリジナル
550 人が閲覧しました

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

JavaScript 関数 'animate' が IE で動作しているにもかかわらず Chrome で失敗する

問題:

経由で呼び出された animate 関数イベント ハンドラーのコンテンツ属性は、インターネットでは正常に機能しますが、Chrome では実行に失敗します。 Explorer.

説明:

Chrome では、グローバル アニメーション関数は、Web アニメーションで最近導入された Element.prototype.animate によってシャドウされます。このシャドウイングは、グローバル スコープよりもターゲット要素のスコープを優先するイベント ハンドラーの字句環境スコープが原因で発生します。

解決策:

問題を解決するには

  • アニメーションの名前を変更します。 function: Element.prototype.animate 関数との混同を避けるために、animate__ などの別の名前を使用します。
function animate__() {
  var div = document.getElementById('demo');
  div.style.left = "200px";
  div.style.color = "red";
}
ログイン後にコピー
  • bind() メソッドを使用します。 : animate 関数をグローバル オブジェクトにバインドして、常にグローバル オブジェクト内で実行されるようにします。スコープ。
document.getElementById('demo').addEventListener('click', function() {
  animate().bind(window);
});
ログイン後にコピー

以上がJavaScript の「animate」関数が IE では機能するのに、Chrome では失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート