Çok temel bir görüntü düzenleyici üzerinde çalışıyorum ancak gerçek css filtre değerlerini etkilemek için aralık girdi kaydırıcılarını (# fx-kaydırıcı) alamıyorum.Javascript aracılığıyla CSS filtre değerlerini değiştirme
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>
Herhangi bir yardım mutluluk duyacağız: Bu kod olduğunu! Teşekkürler. :)
Bir kaç temel yazım hatası hataları var. Öğeler "sınıf" var, ancak "getElementById" kullanıyorsunuz. Stili belirleyen satırlardaki alıntılardan sonra ekstra bir '' 'vardır. – Harry
da 'webkitFilter' değil 'WebkitFilter' – Pointy