前記事の方法は、タイトル部(等)のグラフィックを sequential (順番通り)に表示していく、というものでした。
初回に表示されるのは定まった画像となる訳で、これはこれでサイトアイデンティティとかの観点からメリットであるとも考えられる訳ですが、 「もう少し変化が欲しい」 と感じる方もいらっしゃるかもしれません。
また、前記事でも述べた如く、用意された画像の枚数が多くなる程、番号の大きい画像は表示される機会が少なくなってしまう、という性質が問題となってくる可能性もあります。
( 管理人自身の経験から申し上げますと、自blog(FCafe)なら十頁以上を繰る事も稀ではないのですが 他所様のblogですと一度の訪問につき1〜3頁を読ませて頂くのが殆どで、5ページ以上はあまりありません )
・・・この辺りを何とかできないものか また少し考えてみました。
【 設定法 】 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;
}
function setC(k,t){ document.cookie=k+"="+t+";"}
function hbdPic(X,N,G,S){
var c=eval(getC(X));
if(c>0 && c<=N) { var n=c+1; if(n>N){n=1} }
else { var 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);
}
// --></script>
前記事までの方法と基本的に変わる処はありません。
スクリプトの関数名を変更するだけです。
<script type="text/javascript">hbdPic("ID名",枚数,"type","style")</script>
【 解 説 】 閲覧者訪問時(cookie未生成状態)最初に表示する画像を「一番目」のファイルでなく、乱数でランダムに選択します。 (以後は番号順に表示していきます)
基本的に全画像の表示確率が均等となりますので、多数の画像を用意した場合も無駄になる心配がありません。 スクリプトも割と簡潔ですし、この種のバラエティ表示には比較的適応の広い方法ではないかと思えるのですが如何でしょうか。
| . |