2012-01-03 21 views
1

ランダムな背景のためにどのようにすることができますHTML pageロード?ランダムな背景を持つHTMLテーブル

HTML pageに1つの表があります。そして私はHTMLのコードをのTableのためのコードに使用します。 Image folder

<table background="image/1.jpg"> 

私は5イメージを持っている、と私はすべてのHTML page負荷でランダムに背景を変更します。

+0

サーバー側のテクノロジは使用していますか? (ASP、PHP、Java、Ruby、Perl、Python ...) – adarshr

+0

@adarshr、いいえ。これは単純な 'HTML'ウェブページです。 – User

+0

少なくともApacheを実行している場合は、私の答えに従ってください。 – adarshr

答えて

2

画像の配列を作成し、それをページのonloadイベント機能を設定するここでexample

1

あなたは、PHPを使用することができます。

$images = array(); 

if ($dir = opendir("your/image/folder")) 
{ 
    while (false !== ($file = readdir($dir))) 
    { 
     if (preg_match('~(png)|(gif)|(jpg)|(jpeg)|(bmp)~', $file) > 0) // Use this to filter just images you want 
     { 
      $images[] = $file; 
     } 
    } 
} 

echo '<table background="image/' . $images[mt_rand(0, (count($images) - 1))] . '">'; 
1

javascriptを使用できます。 Math.random()関数を使用して、1から5までの数値を返します。次に、テーブルのバックグラウンドを、関数が与えた数値に変更します。 私はhtmlでそれをどうすべきかわかりません。

これはあなたを助けます。乾杯。

1

adarshrさんが彼のコメントで指摘したように、おそらくサーバー側で対処する方が簡単かもしれません。しかし

あなたはクライアント側でそれをしたい場合は、は、JavaScriptのこの種試すことができます:ここでは

window.onload=function(){ 
    var thediv=document.getElementById("yourid"); 
    var imgarray = new Array("imageone.gif", "imagetwo.gif", imagethree.gif"); 
    var spot =Math.floor(Math.random()* imgarry.length); 
    thediv.style.background="url("+imgarray[spot]+")"; 
} 

をここにブログの記事からanother example

3

は、Apacheを使用してソリューションです単独で。スクリプティング(クライアント/サーバー側)はまったく必要ありません。

ただし、Apacheの設定を変更して、URL書き換えと書き直しマップを許可する必要があります。これを行う方法については、instructionsを参照してください。

初期設定が完了したら、すべてのイメージサフィックス(1,2,3 ...)のマップ(images.txt)を定義するだけで済みます。次に、URL /images/random.jpgをピックアップし、/images/image_1.jpg/images/image_3.jpgのようなURLにランダムに置き換えるようにApacheを設定します。

次の行はhttpd.confに行くことができます。または、2番目の行だけを.htaccessの内側に置くこともできます。

RewriteMap images rnd:/path/to/images.txt 
RewriteRule ^/(.*)images/random.jpg /images/image_${images:dynamic}.jpg 

注:RewriteMap定義は.htaccess内で使用することはできません。しかし、.htaccessと主な設定の両方でRewriteRuleディレクティブを自由に使用することができます。

地図の内容。上記のRewriteMapディレクティブに定義されているパスにimages.txtを置きます。もちろん

## images.txt 

dynamic 1|2|3|4|5 

、あなたはあなたにHTMLを変更する必要があります:

<table background="/images/random.jpg"> 

ランダム画像をピックアップするこの方法は、スクリプトのソリューションに比べて非常にきれいです。私が見る唯一の欠点は、そこにマップ定義を配置するために、メインApache構成(httpd.conf、仮想ホスト構成)にアクセスできることです。多くの共有ホスティング会社では、そのような制限を設けています。あなたがそのハードルを乗り越えることができれば、それは本当にケーキの散歩です。

関連する問題