クリックすると、ラッパーのIDでdivの色を変更しようとする次のスクリプトがあります。以下のバリエーションを試しましたが、問題が見つかりません。クリック イベントは関数をトリガーしません。background-color を backgroundColor に変更しようとしましたが、違いはありませんでした。ここでグローバル変数を使用していることはわかっています。その部分は無視してください。
var wrapper;
function wrapperColorToCoral () {
wrapper.setAttribute('style', 'background-color:LightCoral;');
}
function wrapperColorToGreen () {
wrapper.setAttribute('style', 'background-color:LightGreen;');
}
function colorChange () {
//if (wrapper.getAttribute('style', 'background-color:LightCoral;') === true) {
if (wrapper.style != 'background-color:LightGreen;') {
wrapperColorToGreen();
}
else {
wrapperColorToCoral();
}
}
// INIT FUNCTION
function init () {
wrapper = document.getElementById('wrapper');
wrapper.onClick = colorChange();
}
window.onload = init;
ご協力ありがとうございました
編集(作業中 - クエンティンに感謝):
var wrapper
function wrapperColorToCoral () {
wrapper.style.backgroundColor="LightCoral";
}
function wrapperColorToGreen () {
wrapper.style.backgroundColor="LightGreen";
}
function colorChange () {
if (wrapper.style.backgroundColor==="LightCoral") {
wrapperColorToGreen();
}
else {
wrapperColorToCoral();
}
}
function init () {
wrapper = document.getElementById('wrapper');
wrapper.addEventListener("click", colorChange, false);
}
window.onload = init;