我已經添加了4個「範圍」類型輸入,並使用它們的值來設置另一個元素的RGBA值,但它不起作用。javascript getElementsByClassName和setAttribute不工作
window.onload = init;
function init(){
document.getElementById("colorR").onchange() = setColors;
document.getElementById("colorG").onchange() = setColors;
document.getElementById("colorB").onchange() = setColors;
document.getElementById("Opacity").onchange() = setColors;
}
function setColors(){
var r = document.getElementById("colorR").value;
var g = document.getElementById("colorG").value;
var b = document.getElementById("colorB").value;
var a = document.getElementById("Opacity").value;
//alert(r+", "+g+", "+b+", "+a);
document.getElementsByClassName("previewAreaBox")[0].style.setAttribute(
"background-color", "rgba(",r+", "+g+", "+b+", "+a/100+");");
}
任何幫助將不勝感激。謝謝。
打開瀏覽器的開發者控制檯,你會看到錯誤。這應該是你找不到工作的第一個地方。 –
當你調用'document.getElementById(「...」)。onchange()= setColors'時,你正在執行任何附加的函數。拿掉括號,看起來像這樣:'document.getElementById(「...」)。onchange = setColors'。這樣你就可以設置變量,而新值(一個函數)將在稍後調用。 – smakateer
謝謝Crazy Train和smakateer – mtd