0

はい、この質問についてオンラインでたくさんの投稿を見てきましたが、Internet Explorer 5 以降を使用して不透明度を機能させることができないようです。

var container_div = document.getElementById(id);       
var container_filter = 0;
container_div.style.filter = container_filter;

これは、他のすべての標準ブラウザで機能します。

var container_div = document.getElementById(id);       
var container_opacity = 0;
container_div.style.opacity = container_opacity;
4

1 に答える 1

1

IE5? マジで???

とにかく、端的に言えば、IE のfilterスタイルはさまざまな効果を扱うため、それよりもはるかに複雑です。整数値だけでなく、フィルター文字列全体を設定する必要があります。

構文は非常に複雑で、Javascript で操作するのは簡単ではありません。結果は、少し当たり外れがある場合もあります。うまく行ったとしても、常にうまくいくとは限りません。

作業を行う方法を説明しようとするのではなく、filter作業を容易にする可能性のあるサード パーティの Javascript ライブラリを紹介します: cssSandpaper

cssSandpaper は、いくつかの最新の CSS 機能を古いバージョンの IE に実装する JS ライブラリです。

CSS を使用して、次のように IE の不透明度を設定できます。

opacity: 0.3;

...または次のような Javascript:

cssSandpaper.setOpacity(container_div, 0.3);

これらの例は両方とも、上でリンクしたページのドキュメントに従っています。

注: このライブラリが IE5 で動作するかどうかは非常に疑問ですが、率直に言って、心配しないでください。最近では、ほとんどの人が IE6 をサポートすることさえ時間の無駄だと考えています。

于 2013-02-27T21:06:54.910 に答える