画像を右下に固定したままランダムに表示する方法

[新着] Webテンプレートを仮オープンしました



0   名前: maron : 2007/03/18(日) 17:33  [URL]  ID:/1rnvrlh sub-O2
タイトル通りですが、画像を右下に固定したままランダムに表示する方法を教えてください。
よろしくお願いします。

1   名前: 匿名 : 2007/03/18(日) 17:33  ID:Xp3DtL3m sub-Ko
「背景 ランダム」で検索

一例:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2061131

2   名前: 匿名 : 2007/03/18(日) 17:33  ID:Xp3DtL3m sub-Ko
あ、早とちりした。すいません。背景じゃなくて画像か。

3   名前: 匿名 : 2007/03/18(日) 17:33  ID:Xp3DtL3m sub-Ko
なんか、検索しろとか謝ってるだけのレスじゃ申し訳なくなったので一応それっぽいのをでっち上げてみました。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
 "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>右下にランダムに画像を表示する</title>
<style type="text/css"><!--
img#imgframe{
	width:100px;
	hight:100px;
	position:absolute;
	bottom:1px;
	right:1px;
-->
</style>
<SCRIPT language="JavaScript">
<!--
var img=new Array("9.bmp","10.bmp","11.bmp");
document.write('<IMG SRC="'+img[Math.floor(Math.random()*img.length)]+'" id=\"imgframe\">');
//-->
</SCRIPT>
</head>
<body onload="randimage()">

</body></html>
JavaScriptで画像をランダムに出力し、
CSSで画像を右下に固定すればいいですよ、っていう例のつもりです。

#できれば、ランダム表示用のJavaScriptは自分のHPに似合う適切なものを探して使ってください。

4   名前: 匿名 : 2007/03/18(日) 17:33  ID:zVbAQGuv sub-kJ
>>3
それだと head 要素の中に img 要素(alt 属性なし)が出力されちゃいやすぜ。

5   名前: maron : 2007/03/18(日) 17:33  [URL]  ID:/1rnvrlh sub-O2
過去ログをみたら

<SCRIPT language="javascript">
<!--
var img=new Array("???.gif","???.gif","???.gif");
write_data="<style>
<!--"
+"BODY{"
+"background-image:url("+img[Math.floor(Math.random()*img.length)]+"); "
+"background-repeat:no-repeat; "
+"background-attachment:fixed; "
+"background-position:right bottom; "
+"}--></style>";
document.open();
document.write(write_data);
//-->
</SCRIPT>

これでできたらしいんですが、<head>内にコピーしても
表示されません。。
何がいけないんでしょうか??

6   名前: 1,2,3の匿名さん : 2007/03/18(日) 17:33  ID:VHwv9.26 sub-Cl
>4 さん
あら、ほんとだ。表示できてたから勘違いしてた。ご指摘ありがとう。
var img=new Array("9.bmp","10.bmp","11.bmp");
document.write('<IMG SRC="'+img[Math.floor(Math.random()*img.length)]+'" id=\"imgframe\">');
var img=new Array("9.bmp","10.bmp","11.bmp");
document.open();
document.write('<IMG SRC="'+img[Math.floor(Math.random()*img.length)]+'" alt=\"ランダム画像\" id=\"imgframe\">');
document.close();
たぶんコレでいいはず・・・(※alt属性は適切な言葉を入れてください)

背景でいいなら>1で示したように「背景 ランダム」で検索すればあたしがでっち上げたコードよりいいコード出てくると思うんだけど…
#JavaScriptできないのにでしゃばってごめんね。

>5
何がいけないんでしょうか??
document.close();が抜けてるからじゃないかしら。

7   名前: 1,2,3の匿名さん  : 2007/03/18(日) 17:33  ID:VHwv9.26 sub-Cl
今、我に返って思ったんだけど、>4さんの指摘をまだちゃんとわかってないような気がする。(恥ずかしすぎて消えてしまいたい、、、が)
<SCRIPT type="text/javascript">
<!--
var img=new Array("9.bmp","10.bmp","11.bmp");
document.open();
document.write('<IMG SRC="'+img[Math.floor(Math.random()*img.length)]+'" alt=\"ランダム画像\" id=\"imgframe\">');
document.close();
//-->
</SCRIPT>
は、<body></body>内に書くのが正しい…んですよね?うわーいろいろごめんなさいーあたしの言ったことはすべて忘れてー(;;)

8   名前: 匿名 : 2007/03/18(日) 17:33  ID:zVbAQGuv sub-kJ
>>5
エラーが出ているでしょ。何と書いてある?


>>7
> <body></body>内に書くのが正しい

それで OK だよ。GJ!

ちなみに、document.open()/close() は、いったん読み込みが終了したページに、もう一度書き込む場合に使う。読み込み中に img 要素を出力する場合は不要。

一覧へ戻る