2

私はjQueryライブラリを使用しています.これは私のコードです:

CSS:

.card{
    hight: 100px;
    width: 100px;
    background-color: black;
    opacity: 0.2;
}

HTML:

<div class="card"></div>

Javascript:

$(".card").hover(function () {
    alert($(this).css("opacity"))
});

不透明度オプションはすべてのブラウザーで機能します (ボックスには透明度があります) が、Chrome、Firefox、および Safari では値が「0.20000002345」のポップアップが表示されます。Internet Explorer 9のみ「1」が表示されています。

4

2 に答える 2

5

を使用するalpha filterと問題が解決しますが、IE9 では必要ないはずです... ただし、IE9 が互換モードでページを表示している場合を除きます (したがって、古いバージョンの IE のように動作します)。

OP がページをローカル イントラネット ゾーン サイトとして表示している場合、互換モードは (インターネット ゾーンではなく) IE9 の既定の表示モードであり、結果として機能しcss opacityません。

IE9 では、[ページ] -> [互換表示の設定] -> [イントラネット サイトを互換表示で表示する] のチェックを外してオフにします。

セキュリティ ゾーンと互換モードを混同すると、OP に問題が発生した理由と、上記のリンク先のテスト ページを公共のインターネットで表示した人が正しく表示される理由が説明されます。

于 2012-10-30T19:04:26.157 に答える
3

IE の不透明度の CSS (バージョン <9)

filter:alpha(opacity=20);

それのためのjQuery:

$(".card").hover(function () {
    alert($(this).css("opacity"));
    var filter = $(this).css('filter');
    if (filter) {
        filter = parseInt( filter.replace(')','').replace('alpha(opacity=','') ) / 100; }

        alert(filter);
});​

jsFiddle の例

于 2012-09-11T00:28:54.160 に答える