function changeColor() {
var $ = document.getElementById.bind(document);
var cp = $('colorPicker');
var ct = $('col_text');
var cmess = $('colorMsg');
var cpback = $('colorPicker_back');
var rap = $('wrap');
var newColor = cp.value;
//我想做出上述全球...或者如果有另一種方式來寫這個我很樂意看到。 $('col_text')。style.color = newColor;試圖避免重複,簡化...創建全局變量,並簡化我的JavaScript - 純js沒有jquery
if (newColor == "none") {
ct.innerHTML = "choose";
cpback.value = "salmon";
cmess.style.background = "#fff";
rap.style.background = "#ddd";
return this;
} else if (newColor == "yellow") {
ct.innerHTML = "yellow";
cpback.value = "salmon";
cmess.style.background = "salmon";
rap.style.background = "#ccc";
return this;
} else if (newColor == "red") {
ct.innerHTML = "red";
cpback.value = "yellow";
cmess.style.background = "yellow";
rap.style.background = "#eee";
return this;
} else if (newColor == "white") {
ct.innerHTML = "white";
cpback.value = "violet";
cmess.style.background = "violet";
rap.style.background = "#ea0";
return this;
}
}
function changeBack() {
var backgrnd = document.getElementById('colorPicker_back').value;
document.getElementById('colorMsg').style.background = backgrnd;
if (backgrnd == "none")
{
document.getElementById('col_text').style.color = "#000";
document.getElementById('col_text').innerHTML = "choose";
//document.getElementById('col_text').style.color="white";
return this;
} else if (backgrnd == "yellow")
{
document.getElementById('col_text').style.color = "red";
//document.getElementById('col_text').style.color="white";
return this;
} else {
document.getElementById('col_text').innerHTML = "choose";
return this;
}
}
//這需要簡化,但我正在努力如何做到這一點。
上只需移動它們的功能之外,他們將是全球性的? –
@JoeRinehart - 不完全是......完成OP在這裏所做的事情是完全合理的,並且使用'$'作爲類似功能的不同方法的簡寫。我並不是說這是一個好主意,因爲它可能會混淆其他人看你的代碼,但肯定不會被拒絕。 – nrabinowitz
嘿,我編輯了我的評論 - 當我最初評論時,我沒有看到任務分配給$。 –