6

CSSフィルターを動的に適用する方法は?Chromeで次のことを試しました。

image.style = "-webkit-filter: brightness(50%);";
4

4 に答える 4

10

webkitFilterオブジェクトではなく、プロパティに値を設定する必要がありstyleます。この構文は機能します:

image.style.webkitFilter = "brightness(50%)";

JavaScript プロパティ名がわからない場合は、CSS プロパティで参照できます (karaxuna が提案したように、これも機能します)。

image.style["-webkit-filter"] = "brightness(50%)";
于 2013-02-13T09:04:00.170 に答える
3
image.style["-webkit-filter"] = "brightness(50%)";
于 2013-02-13T08:48:21.847 に答える
2

そのフィルターをクラスに追加します。

.bright {
    -webkit-filter: brightness(50%);
}

そしてそのクラスを切り替えます:

image.classList.toggle('bright');
于 2013-02-13T08:47:01.693 に答える
-1

1) ブラウザーが css-filters をサポートしているかどうかを確認します (必要な場合)
2) 現在のブラウザーで「フィルター」プロパティにベンダーが必要かどうかを検出し、保存します
3) フィルター値を次の形式で設定します:

el.style["-vendor-filter"] = value;

また

el.style.vendorFilter = value;

小さなデモを確認してください: http://codepen.io/malyw/pen/EDnmt
また、動作中の css フィルターを示す大きなデモを見つけることができます: http://malyw.github.io/css-filters/

于 2014-05-19T07:15:15.477 に答える