ネスケで背景画像を毎回変えるには?

[上に] [前に] [次に]
おがまん [E-Mail] [HomePage] 1999/08/10(火) 19:44:32
こんにちは、初めまして。質問、お願いします。
訪れるたびに背景画像を変えたくて、
<head><script language="javascript">
  function disp(){
    var jikan=new Date();
    var byou=jikan.getSeconds();
    if(byou%2==0)
      document.body.style.backgroundImage = "url(1.gif)";
    else if(byou%2==1)
      document.body.style.backgroundImage = "url(2.gif)";
}
</script></head>

<body onLoad="disp()">
</body>
のようなスクリプトを組みました。
しかし、IE5.0では動いたのですが、ネスケ4.6では動いてくれません。
なにが悪いのか、さっぱり分かりません。
スタイルシートなので、<style type="text/css"></style>を
どこかにいれなければならないのでしょうか?
 でも、どこにいれたら良いのか、さっぱりです。
お願いします、どなたか、ネスケで動かす方法を教えてください。

TAKI 1999/08/10(火) 20:42:00
document.body.style.…のような書き方は
ネスケでは使えません。
<STYLE>タグごと書き出してみては?
ちょっと強引かなぁ。

<HEAD>
<SCRIPT LANGUAGE="JavaScript1.2"><!--
var jikan=new Date();
var byou=jikan.getSeconds();
var img = (byou%2==0)? '1.gif' : '2.gif';
var stylesheet =
'<STYLE TYPE="text/css">'+
'BODY  {background:url('+ img +');}'+
'</' + 'STYLE>';
document.write(stylesheet);
//--></SCRIPT>
</HEAD>

こんな感じで、少なくともWIN95+NN4.05では
エラーもなくランダムに背景変更できてます。

おがまん [E-Mail] [HomePage] 1999/08/10(火) 22:06:10
[[解決]]
TAKIさん、ありがとうございます。
おかげでちゃんと動くようになりました。
でもまだまだ、JavaScript勉強し始めたばかりなので、
var img = (byou%2==0)? '1.gif' : '2.gif';
の部分の意味が分からず、if文に書き換えて使わさせていただきました。
ありがとうございます。

TAKI 1999/08/10(火) 22:27:50
>var img = (byou%2==0)? '1.gif' : '2.gif';
>の部分の意味が分からず、
http://www.tohoho-web.com/js/operator.htm#Conditional
これですね。
でも、あとあと背景画像の種類を増やしていこうとか
そういうことを想定すると、
if文に書き換えて正解かもしれません。

おがまん 1999/08/10(火) 22:56:16
TAKIさん、何から何まで答えていただいて、ありがとうございます。
なんか、HTMLと違ってJavaScriptはいっぱい覚えることがありそうで、
大変ですが、がんばるのでこれからもよろしくです。

zizz... [HomePage] 1999/08/10(火) 22:58:57
将来の事を考えて、W3CのDOMに従ったスクリプトを書くと、次のようになります。
Mozilla 5では期待通りに動作しました。

---------- ここから ----------
<head>
<script type="test/javascript">
function disp() {
var jikan = new Date();
var byou = jikan.getSeconds();
if(byou%2 == 0)
document.getElementsByTagName("BODY").item(0).style.backgroundImage = "url(1.gif)";
else if(byou%2 == 1)
document.getElementsByTagName("BODY").item(0).style.backgroundImage = "url(2.gif)";
}
</script>
</head>

<body onLoad="disp()">
</body>

おがまん 1999/08/11(水) 02:56:20
ZIZZさん、詳しくありがとうございます。
「W3C」「DOM」「Moziila5」……勉強不足の私には何のことか、分かりませんが、
将来の標準になるということですか?
HP、行かせていただきました。
高校生とか……すごいです。
私は高校、遥か前に卒業したのですが、その頃はパソコンなど触ったことなく、
スーパーファミコンで「わーい」でした。
がんばってJavaScript勉強しますので、暖かく見守ってやってください。

[上に] [前に] [次に]