1

1 つのブラウザー (IE) でのみアニメーション要素を無効にしたいのですが、
どうすればこれを行うことができますか?
または、IEでcss3要素を機能させるにはどうすればよいですか?

スタイル =

  -webkit-animation: drop 8s cubic-bezier(0, 0, 1, 0.5) infinite;  
  -moz-animation: drop 8s cubic-bezier(0, 0, 1, 0.5) infinite;  
  -o-animation: drop 8s cubic-bezier(0, 0, 1, 0.5) infinite;  
  animation: drop 8s cubic-bezier(0, 0, 1, 0.5) infinite;
4

2 に答える 2

0

あなたのユースケースでは、Modernizrを使用することをお勧めします。これを使用すると、ブラウザがサポートするすべての機能が検出され、関連するクラスが要素に適用されます。

次に、これらの modernizr クラスを使用して CSS クラスをターゲットにし、たとえば、アニメーションをサポートしていないすべてのブラウザーからアニメーション プロパティを削除します。

于 2013-08-11T05:28:58.100 に答える
0

あなたはjqueryを使うことができます

if ($.browser.msie) {
    alert('IE'); 
    // Disable Animation
    $("#element").attr('disabled', 'disabled');
}

次のように特定のバージョンの IE をターゲットにすることもできます。

if ($.browser.msie  && parseInt($.browser.version, 10) == 8) {
    alert('IE8'); 
    // Disable Animation
} else {
    alert('Non IE8');
}

編集:コメント者が言うように、これはjQuery 1.9+では機能しません。1.9 以降を使用している場合に考えられる他の唯一のオプションは、ブラウザー検出用のプラグインを使用することです。ブラウザー固有の情報をクラスとしてページの html タグに追加するCSS ブラウザー セレクターを使用します。そこから変更を加えることができます。

CSS Browser selectorを使用して、 ie をターゲットにして、次のように要素を削除できます

$(".ie #element").attr('disabled', 'disabled');

または特定のバージョンの場合

$(".ie8 #element").attr('disabled', 'disabled');

その他の提案は、jquery.support 関数を使用することです。ただし、これは内部関数であり、.support ドキュメントの jquery には、「特定のプロパティは、内部で不要になったときに削除される可能性がある」と明確に記載されているため、これを使用することはお勧めしません。

于 2013-08-11T05:15:42.373 に答える