2013-02-13 72 views
6

如何動態應用CSS過濾器?對於Chrome我已經嘗試了以下內容。動態應用CSS過濾器

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

回答

9

你應該設定值的webkitFilter財產,不給style對象。這句法will work

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

如果你不知道JavaScript屬性的名稱,你可以通過CSS屬性引用它(如karaxuna建議,will work too):

image.style["-webkit-filter"] = "brightness(50%)"; 
+0

任何想法如何結合兩個過濾器?說'亮度'和'顛倒'? – 2014-09-17 21:57:28

+1

@MaciejJankowski只是用空格分開,''亮度(50%)invert()「':http://jsfiddle.net/bj4p0sxm/ – Pavlo 2014-09-17 23:39:20

+0

謝謝!你是老闆! – 2014-09-19 07:52:43

2

該過濾器添加到類:

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

並切換該類:

image.classList.toggle('bright'); 
+0

@PavloMykhalov:嗯,也不是'-webkit'性質。 – Blender 2013-02-13 10:00:39

3
image.style["-webkit-filter"] = "brightness(50%)"; 
0

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/