通过Javascript更改CSS过滤器值
Changing CSS filter values via Javascript
我正在开发一个非常基本的图像编辑器,但我无法使用范围输入滑块(#fx滑块)来影响实际的css过滤器值。这是代码:
function ChangeFilter() {
var ifx = document.getElementById("canvasFrame");
var br = document.getElementById("br");
var ct = document.getElementById("ct");
var st = document.getElementById("saturate");
ifx.style.WebkitFilter = "brightness(" + br.value * 10 + "%)");
ifx.style.filter = "brightness(" + br.value * 10 + "%)");
ifx.style.WebkitFilter = "contrast(" + ct.value * 10 + "%)");
ifx.style.filter = "contrast(" + ct.value * 10 + "%)");
ifx.style.WebkitFilter = "saturate(" + st.value * 10 + "%)");
ifx.style.filter = "saturate(" + st.value * 10 + "%)");
}
#canvasFrame {
width:100px;
height:50px;
filter: brightness(100%) contrast(100%) saturate(100%);
-webkit-filter: brightness(100%) contrast(100%) saturate(100%);
}
<div class="canvasFrame">
<img src="http://www.joomlaworks.net/images/demos/galleries/abstract/7.jpg" alt="image">
</div>
<div class="fx-slider">
<label for="br">Brightness</label>
<input id="br" name="br" type="range" min="0" max="200" value="100" onchange="ChangeFilter()">
</div>
<div class="fx-slider">
<label for="ct">Contrast</label>
<input id="ct" name="ct" type="range" min="0" max="200" value="100" onchange="ChangeFilter()">
</div>
<div class="fx-slider">
<label for="st">Saturation</label>
<input id="st" name="ct" type="range" min="0" max="200" value="100" onchange="ChangeFilter()">
</div>
任何帮助都将不胜感激!谢谢。:)
您需要向画布容器添加一个id,而您的饱和度控件使用了错误的id。此外,您应该连接这3个控件,否则您只需要设置饱和度级别。
function ChangeFilter() {
var ifx = document.getElementById("canvasFrame"); //need to update this id in you html
var br = document.getElementById("br");
var ct = document.getElementById("ct");
var st = document.getElementById("st"); //this id was wrong in your code
//set all 3 filter values at once.
ifx.style.webkitFilter = "brightness(" + br.value * 10 + "%) contrast(" + ct.value * 10 + "%) saturate(" + st.value * 10 + "%)";
ifx.style.filter = "brightness(" + br.value * 10 + "%) contrast(" + ct.value * 10 + "%) saturate(" + st.value * 10 + "%)";
}
CodePen:http://codepen.io/nobrien/pen/BKmevp
相关文章:
- 如何将图像上传到带有 CSS 过滤器的服务器
- 通过Javascript更改CSS过滤器值
- jquery css添加IE8过滤器
- CSS 梯度过滤器 Javascript 和 IE 9
- 过滤器:第 n 个子项忽略 css 显示为无的位置
- 添加动态'过滤器'IE8的CSS属性不是't被正确分配
- CSS过滤器破坏三维转换
- 使用javascript从图像中删除灰度css过滤器
- 带有过滤器的引导表-zebra-css
- 如何让css过滤器在Firefox中工作
- 使用jQuery获取多个CSS过滤器值
- HTML范围元素改变CSS过滤器
- 覆盖CSS过滤器反转不工作在Mozilla Firefox
- 通过javascript在css中添加一个图像路径到过滤器
- JQUERY CSS:是否有可能通过JQUERY触发CSS过滤器?
- 带有用户过滤器选项的静态表使用Javascript / CSS自定义视图
- 同位素过滤器与jquery css覆盖不工作如预期
- 如何在JavaScript中使用CSS过滤器
- Javascript按钮在图像上应用css过滤器
- 动态应用CSS过滤器