FCafe  さらにランダムに

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

 さて、前記事で 『同じ画像が続けて表示される』 のを防げるようにはなった訳ですが、ランダム表示の肝であるバリエーション変化が失われてしまうケースはまだ有り得ます。 それは以下のような場合でしょう。
A,B,C,D,E,F の画像がある時、 A,B,A,B  のように表示される
「さっき見たのがまた!」 ・・という訳です。 (画像が2枚だけなら仕方がありませんが)沢山の画像を苦労して用意したからには、なるべく「新しい(別の)絵」を見て欲しいものですよね。

 この問題に対する方策を考えてみました。


SAMPLE


【 設定法 】  HTMLのhead領域に以下のスクリプトを書きます。

<script type="text/javascript"><!--
function getC(k){
 if (document.cookie.length!=0){ var C=document.cookie.split(";");
  for(i=0;i<C.length;i++){ var p=C[i].split("=");
   if(p[0]==k) return p[1];
  } } return "0/0";
}
function setC(k,t){ document.cookie=k+"="+t+";"}
function cRnd2(X,N,G,S){
 var R=getC(X).split("/"); var n=R[0];
 while(n==R[0] || n==R[1]){ n=(Math.floor(Math.random()*N)+1)}
 var F ="url(<%url>file/"+ X + n+"."+G+") "+S;
 document.getElementById(X).style.background=F;
 setC(X,""+n+"/"+R[0])
} 
// --></script>

背景画像をランダム表示させる領域にIDを振りデフォルトのCSSを指定する事、  背景画像のネーミング法や 表示領域の後に書くスクリプトの記述は 前記事と変わりません。

<script type="text/javascript">cRnd2("ID名",枚数,"type","style")</script>
 

【 解 説 】    スクリプト関数 cRnd2 は、表示するよう選択した画像のみならず、前回に表示されていた画像もクッキーに記録します。  そしてページを新たに表示する時はクッキーを参照して直近に表示された二画像以外の画像を選んで表示するという訳です。
(画像の総枚数にもよりますが) 結構 「またかよ」感減少に効果的な模様です。
・・・よろしければお試しを


Comment


.  
HN Title URL PW secret

TrackBack http://pcafe.blog3.fc2.com/tb.php/465-8ab95931

Shown after Admisson
.

≫ ランダム最終形態 よりランダムに ≪

2007 / 05 / 11  Fri
Operation   
Comment 0 / TB 0 / Edit
Designed by Daniel Corporation . all rights renounced
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。