タイル画像とバックアップ背景色の両方で、ボディの背景を明るい色と暗い色の間で切り替える関数を作成しています。index.htmlでは、私のbodyタグは次のとおりです。
<body style="background-color:#111111; background-image:url('dvsup.png');">
変更したいスタイルをjavascriptでindex.html内に配置する必要があるようです。そうしないと、機能しません。少なくとも、IE9ではありません。
これが私のscript.jsのコードスニペットです:
function _(el){return document.getElementById(el);}
// this just acts as shorthand
//here's the problematic function:
function light(){
_("lights").className=
(_("lights").className==="deselected")?
"selected":"deselected";
document.body.style.backgroundColor=
(document.body.style.backgroundColor==="#111111")?
"#EFEFEF":"#111111";
document.body.style.backgroundImage=
(document.body.style.backgroundImage==="url('dvsup.png')")?
"url('dvsupw.png')":"url('dvsup.png')";}
これはすべて、IE9の仕事用コンピューターで完全に機能します。ボタンが「light()」を呼び出すと、背景画像と色、およびボタン自体のクラスが変更されます。ChromeとChromium(自宅)では、バラバラになります。classNameの「選択済み」から「選択解除済み」への変更は機能しますが、残りは機能しません。
奇妙なことに、「===」識別子を「style.backgroundColor」と「style.backgroundImage」の「=」アサイナに変更すると、Chromeでは「light()」を呼び出すと背景画像が「dvsupw.png」に変わります。 、ただし元に戻らない。
明らかな何かが欠けていますか?なぜこれが機能しないのですか?
そして、私がはっきりしていない場合は、教えてください。
ありがとう。アル。