を使用して、私は回避策があります。
IDとCSSアニメーションを含む完全なSVGを持っていて、他の主要なブラウザでも機能しています。
私は自分のSVGをHTMLに挿入しているので、CSSアニメーションのすべてのアイテムにアクセスできます。これが機能するために
、あなたが位置して、あなたのSVGを持っている必要があります:コンテナ.svgcontent
内...
absolute; top: 0px; left: 0px,
(またはあなたがそれを呼び出すために好きな)
スクリプト:
var IE = (navigator.userAgent.indexOf("Edge") > -1 || navigator.userAgent.indexOf("Trident/7.0") > -1) ? true : false;
objs = [ '#file1', '#file2','#file3','#file4','#file5','#file6','#file7','#file8','#file9','#file10','#file11', '#bottom' ];
if (IE){
objs.forEach(function (item) {
item = $(item);
id = item.attr('id');
svgcontent = item.closest('.svgcontent')
svg = item.closest('svg');
svgattrs = ' width='+svg.attr('width')+' height='+svg.attr('height')+' '
html = '<svg id="'+id+'" '+svgattrs+'>'+item.html()+'</svg>';
item.remove();
$(svgcontent).prepend(html);
});
}
これは、objs
配列内のすべての要素を取り、完全なSVGとして挿入します彼は最初の1つ(この動作を変更するにはprepend
をappend
に変更できます)。
SVGはオブジェクトと同じIDを持つため、CSSアニメーションはSVGオブジェクトではなく完全SVGに適用されます。
それだけです!
どのバージョンのIEですか? –
エクスプローラでのテスト11 – canute
IEで表示する色のストロークアトリビュートを定義する必要があります。しかし、私はあなたは、CSSアニメーションプロパティの代わりに個々のCSSアニメーションプロパティを使う必要があると思います。ここでは、http://jsfiddle.net/z8w4vuau/50/ ..を見ることができます。どのように '.loader-path'' circle'要素に色の' stroke'属性を追加し、 'stroke-dasharray'あなたはそれが回転しているのを見ることができますが、IEはあなたの 'stroke-dasharray'と' stroke-dashoffset'をアニメーション化していません。だから、長形式のCSSアニメーションプロパティを代わりに使用してください。 –