5

css フィルター invert(); で厄介な問題が発生しています。これは、jQuery .ready() コンテキスト内に挿入されたコードです。

$('#colorcontrast').bind('click', function() {

        var css = 'html {'+
                    ' filter:invert(100%);' + 
                    ' -webkit-filter: invert(100%);' +                    
                    ' -o-filter:invert(100%);' + 
                    ' -ms-filter:"invert(100%)"; }';      

        if (!window.counter) { 
            window.counter = 1;
        } else  { 
            window.counter ++;
            if (window.counter % 2 == 0) { 
                css = 'html {'+
                    ' -webkit-filter:invert(0%);' +
                    ' -moz-filter:invert(0%);' +
                    ' -o-filter:invert(0%); }';
            }
        };

        console.log(css);

        $('#contrast').html(css);

    });

Chrome と IE9 では正常に動作しますが、Firefox 25 では動作しません。Firefox を使用してドキュメント リファレンス ページにアクセスしたとき、ライブ デモが動作していないことに気付きました。誰か何か知っていますか?そして、そのようなフィルターを適用するための他の方法や解決策を教えてくれる人はいますか? 前もって感謝します。

4

2 に答える 2

4

Firefoxはまだ CSS フィルターをサポートしていません。まったく。

また、スタイルシートを動的に作成するのではなく、クラスを切り替える必要があります。

于 2013-10-30T14:49:52.870 に答える