『まぁ』の小部屋

hide、yukihiro好き三十路女の『雑居ブログ』

トップ画像のランダム表示

トップ画像を変えて以来、他もちょこちょこいじってます。
 ・サイドメニューの折りたたみ (参考記事:「小粋空間」様)
 ・最新エントリ‥にNEW!! (参考記事:「初心者でもできる簡単FC2ブログの作り方」様)

トップ画像を3枚用意したので、折角だから、ランダム表示してみました。
ググると方法は山ほど検索されますが、簡単と言われるのに出来なくて。

結局、IDとの関連、タグ、CSSの修正、と、基本部分で失敗してました。
文法チェックと、いくつかのブラウザの表示確認もほぼOKそうなので、
これでいっかー、とします。(というか、もうこれ以上ムリ)

手探りで出来たので、復習を兼ねて自分メモ。

空欄防止

*トップ(タイトル)画像をランダム表示させたい*
 参考記事:ユーザーフォーラム:「ランダムに画像を表示したい」
 使用テンプレ:「air」Opus-i.plus様制作

1. トップにランダム表示したい画像を、ファイルアップロード。

2. ユーザーフォーラムから、スクリプトをコピペ。(一番下の記事参照)

<script type="text/javascript">
<!--
ranimg = new Array();
ranimg[0]="画像URL1";
ranimg[1]="画像URL2";
ranimg[2]="画像URL3";
xx = Math.floor(ranimg.length*Math.random());
ranimg = ranimg[Math.floor(xx)];
document.write ('<style type="text/css"><!--#header {background-image: url("'+ ranimg +'");}--></style>');
//--></script>

  ・画像URL1,2,3〜は、アップロードしたURLに書き換え。
  ・枚数に応じて、ranimg[n]を追加していく。(nは数字)
  ・#headerは”ID名”、class名なら、.header 表示領域によって変更。(bodyなど)

 ⇒Another gatewayで文法エラーが出たので、上記スクリプトを修正。
   ・<style>に対する</style>がない
   ・入れ子<!--の中に、入れ子<!--を書けない
  ('<style type="text/css"><!--#header {background-image: url("'+ ranimg +'");}--></style>');
                      ↓
  ('<style type="text/css">.header {background-image: url("'+ ranimg +'");}</style>');
   青字部分<!-- -->を削除。(合ってるか不明、でも動いてるので合ってるの・・かな?)

3. HTMLの修正
 ・#headerと同じID名をつける。 が、今回は「air」のclass名(青字)を利用。

<div id="d1"><div class="header"><h1><a href="<%url>"><%blog_name></a></h1><p class="info"><%introduction></p></div>


4. CSSは、javascript無効に備え、画像1を入れておく。
  「air」の場合 ⇒ 画像URL部分のみ用意した画像に変更。あと修正ナシ。

.header{
  width:770px;//ココでサイズ指定
  height:210px;//ココでサイズ指定
  text-align:left;
  background-color:#fff;
  background-image:url("画像URL1");
  background-repeat:no-repeat;
  background-position: center center;
  overflow:hidden}


●HTML

<div id="d1"><div class="header"><h1><a href="<%url>"><%blog_name></a></h1><p class="info"><%introduction></p></div>

                  ↓

<div id="d1"><div class="header">
<script type="text/javascript">
<!--
ranimg = new Array();
ranimg[0]="画像URL1";
ranimg[1]="画像URL2";
ranimg[2]="画像URL3";
xx = Math.floor(ranimg.length*Math.random());
ranimg = ranimg[Math.floor(xx)];
document.write ('<style type="text/css">.header {background-image: url("'+ ranimg +'");}</style>');
//--></script>
<h1><a href="<%url>"><%blog_name></a></h1><p class="info"><%introduction></p></div>


他の方法も沢山ありました。
「FCafe」様の方法でやりたかったんですが、うまくいかず断念しました。

HTML、CSS、javascriptの知識が皆無ですので、おかしい点などありましたら、
ご指摘頂ければ、幸いです。

(追記:2008.07.28)
表示させたい場所=header部分に入れなくても、<head>〜</head>内なら
ランダム表示ができるみたいです。documentで書いてるからかなァ。
(参考記事:「エトウ日記」様

    

#
v-289たくたくろさんへ
動作確認して頂いて、有難うございます!
ちゃんと変わりましたか〜、ほっとしました。
人様の方法をそのまま使わせて頂いてるので、理解出来てなくて。
次は、同じ画像が続けて出る点を修正したいんですが。。
自己満足なんですけど、やり出したら止まりません。

2008.07.16 17:07 URL | まぁ #- [ 編集 ]

空欄防止

#
いろいろといじっているようですね。
確認しましたところちゃんとランダムで写真が変わります。
すごいテクニックですね。私には無理・・・。
っていうか、写真じゃないし。(爆
こういうのって、やり始めると楽しいものですよね。☆

2008.07.16 13:31 URL | たくたくろ #- [ 編集 ]

空欄防止















管理者にだけ表示  (現在非公開コメント投稿不可)


トラックバックURL↓