dポイントプレゼントキャンペーン実施中!

時間で、文字色や背景を変更するスクリプトを使っています。
しかし、リンク文字(link, vlink, alink)の色が変わらないため、背景によっては見えにくい文字色となってしまいます。
リンク文字も同様に時間で変化させたいのですが、どのようにすれば良いでしょうか?
お分かりの方がいらっしゃいましたら、ご教授お願い致します。(>_<)

使っているスクリプトは以下のような感じです。
--------------------------------------------
TimeH = (new Date()).getHours();
if (TimeH>=0 && TimeH<=12)
{myBG="url(./xxxxx/bg_01.jpg)"; myBGcolor="#FF00FF"; myColor="#FFFFFF";}
else if (TimeH>=13 && TimeH<=24)
{myBG="url(./xxxxx/bg_02.jpg)"; myBGcolor="#00FF00"; myColor="#000000";}
myOP = window.opera;
myN6 = document.getElementById;
myIE = document.all;
if (myOP) myBR="O6";
else if (myIE) myBR="I4";
else if (myN6) myBR="N6";
else myBR="";
function bg1(){
if (myBR == "I4"){
document.all.bdy1.style.background = myBG;
document.all.bdy1.style.backgroundColor = myBGcolor;
document.all.bdy1.style.color = myColor;
}
else if (myBR == "N6" || myBR == "O6") {
document.getElementById("bdy1").style.background = myBG;
document.getElementById("bdy1").style.backgroundColor = myBGcolor;
document.getElementById("bdy1").style.color = myColor;
}
}

<BODY ID=bdy1 onload="bg1()">

A 回答 (2件)

例えばですが、



if (TimeH>=0 && TimeH<=12) {
myBG="url(./xxxxx/bg_01.jpg)"; myBGcolor="#FF00FF"; myColor="#FFFFFF";
myBG2="url(./xxxxx/bg_03.jpg)"; myBG2color="#AAAAAA"; myColor2="#AAAAAA";
}
else if (TimeH>=13 && TimeH<=24) {
myBG="url(./xxxxx/bg_02.jpg)"; myBGcolor="#00FF00"; myColor="#000000";
myBG2="url(./xxxxx/bg_04.jpg)"; myBG2color="#BBBBBB"; myColor2="#BBBBBB";
}

省略

if (myBR == "I4"){
document.all.bdy1.style.background = myBG;
document.all.bdy1.style.backgroundColor = myBGcolor;
document.all.bdy1.style.color = myColor;
document.all.d1.style.background = myBG2;
document.all.d1.style.backgroundColor = myBGcolor2;
document.all.d1.style.color = myColor2;

for(var i=0; i<document.links.length; i++) {
document.links[i].style.color=myColor;
}
}

<div id="d1">

とすると背景の画像だけではなく文字色なども変えられるようになります。
onloadはその画面(body)を読み込んだときに実行されるので、<body>タグの中にだけ記述すれば大丈夫ですよ。
    • good
    • 0
この回答へのお礼

ありがとうございました!
バッチリできました。
CGIで変えるプログラムはあったのですが、動作が少し重いような気がしてたので、JavaScriptで作りたかったので助かりました!
ほんとうにありがとうございました。(>_<)

お礼日時:2004/10/07 17:59

if (myBR == "I4"){


document.all.bdy1.style.background = myBG;
document.all.bdy1.style.backgroundColor = myBGcolor;
document.all.bdy1.style.color = myColor;

for(var i=0; i<document.links.length; i++) {
document.links[i].style.color=myColor;
}

}

とするのはどうでしょうか。

この回答への補足

どうもありがとうございます。
うまく出来ました!(>_<)

もし、ご存知でしたら、もう一点ご教授下さいませ。
背景(バックグランド画像)の時間による変更についてですが、
上のように<BODY>タグ内で指定する場合の他に、
<div style="background:url(/xxxx/bg.jpg)">
のように<div>タグ内で指定した、背景のバックグランド画像も時間で変更させたいのですが、
<div>タグ内でスクリプトを使うにはどう記述すればよろしいでしょうか?
<div>内で、IDは使えるようなのですが、onloadが使えないみたいなのです。
<div ID=bdy1 onload="bg1()">と記述しても、上手く動作しませんでした。

もし、ご存知でしたら、ご教授下さいませ。
よろしくお願い致します。(>_<)

補足日時:2004/10/07 16:41
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!