おみくじダイアログ
ver.1.0
 
 ◆サンプル
    <機能と特徴>
 
 ・ボタンを押すとおみくじが引けます。

 ・結果を記録しておくのでその日のうちは同じ結果になります。

 ・もちろん確率設定もできます。
 



 

公開日 2002.1.18
最終更新日 2003.6.15
バージョン ver.2.0
動作確認 IE6.0,NN4.7,NN7.0,Opera7.0
cookie 不使用
CSS 不使用
更新履歴 2003.06.15 ver.2.0 スクリプトを簡略化(変更点:全般)

 

☆★☆使い方☆★☆
 
 初心者向け解説   中級者向け解説   ダウンロード 

1.カスタマイズフォームを使って設定をしてください。

2.ソース1を<head>〜</head>の間に書き込んでください。

3.ソース2を<body>〜</body>の間の
  表示したい位置に使用したい方を書き込んでください。

4.ブラウザでテストしてみてください。
  正常に動作すれば設置は完了です。
 
 
 初心者向け解説   中級者向け解説   ダウンロード 

1.ソース1を<head>〜</head>の間に書き込んでください

2.ソース2を<body>〜</body>の間の
  表示したい位置に書き込むか
  各種イベントハンドラでomikuziC()関数を呼び出してください。

3.ブラウザでテストしてみてください。
  正常に動作すれば設置は完了です。
 
 
 初心者向け解説   中級者向け解説   ダウンロード 
 
ダウンロードする形式を選択してください。

 【スクリプトを1つのページに組み込む】 

1.カスタマイズフォームを使って設定をする場合は、
  ダウンロードの前に設定をしてください。

2.右のボタンを押してファイルをダウンロードしてください。

 【スクリプトを外部ファイルにする(設定は一括)】 

1.カスタマイズフォームを使って設定をする場合は、
  ダウンロードの前に設定をしてください。

2.右のボタンを押して外部ファイルをダウンロードしてください。
 
3.保存した外部ファイルのファイル名を入力してください。
   (ファイルのパスでも可)
 
4.右のボタンを押してHTMLファイルをダウンロードしてください。

 【スクリプトを外部ファイルにする(設定は各ページ毎)】 

1.カスタマイズフォームを使って設定をする場合は、
  ダウンロードの前に設定をしてください。
 
2.右のボタンを押して外部ファイルをダウンロードしてください。
 
3.保存した外部ファイルのファイル名を入力してください。
   (ファイルのパスでも可)
 
4.右のボタンを押してHTMLファイルをダウンロードしてください。
 
5.複数のページが必要な場合は、カスタマイズフォームで設定をし
  再度HTMLファイルのみダウンロードしてください。
 

 
 
 
 カスタマイズフォーム   補足説明   改造方法 
 
 おみくじを引くリンクの形式:  
 おみくじを引くボタンの文字:  
 クッキーの名前: (半角英数字)
*詳しくは補足説明をご覧ください 
 日付を切替える時間:  
 上の時間を過ぎた時:  
 結果の前のメッセージ:
*文中に-month-を入れれば月、
 -date-を入れれば日が代入されます。
 
 【おみくじの設定】 
おみくじの結果の数:
☆★☆1個目の結果☆★☆
 結果のメッセージ: (タグ可) 
 確率: (半角数字:正数)  *合計はなるべく100に
 
 
 カスタマイズフォーム   補足説明   改造方法 
 
クッキーの名前について

 1つのページで設定したスタイルを他のページにも使いたい場合は
 クッキーの名前を同じにしてください。
 切替えるリンクを設置せずに設定のみを適用したいページには
 ソース1のみを<head>〜</head>の間に書き込んでください。

 設定を共用したくない場合はそれぞれに違う名前をつけてください。
 半角英数字であれば何でも構いませんが
 よくわからない場合は1つ目はo_cw_cookie1
 2つ目はo_cw_cookie2というようにつけてください。
 複数のページでこのスクリプトを使わない場合は通常変更の必要はありません。

確率について

 確率は[その結果の確率]/[全ての確率の合計]で決まります。
 合計を100にすれば[その結果の確率]%で換算できます。
 
 カスタマイズフォーム   補足説明   改造方法 
 
クッキーの名前を変更する。(半角英数字)

 //設定〜//ここまでを1行目を変更してください。
o_c_cookie  = 'o_c_cookie'; 
日付を切替える時間を変更する。(半角数字:正の整数)

 //設定〜//ここまでを2〜3行目を変更してください。
 2行目が基準となる時間、3行目は基準の時間を過ぎた場合に
 今日の日付にするか次の日の日付にするかを選択できます。
 今日の日付なら0を次の日の日付なら1に変更してください。
o_c_zikan   = '0:00';
o_c_nichi   = 0;
おみくじの結果の前に付くメッセージを変更する。

 //設定〜//ここまでを4行目を変更してください。
 文中に-month-と書くと月が、-date-と書くと日が代入されます。
o_c_mes     = '-month-月-date-日の運勢は・・・';
おみくじの書く結果メッセージの確率を変更する。(半角数字:正の整数)

 //設定〜//ここまでを偶数行の該当個所を変更してください。
 確率の合計数はなるべく100にするとわかりやすいと思いますが
 仕組みとしては[確率/確率の合計数]で確率が割り出されます。
o_c_kaku[1] = 10;
おみくじの結果を増やす。

 //設定〜//ここまでを2行1組で増やし
 該当個所の数字を増やし該当個所を変更してください。
o_c_kiti[7] = '超大凶<br><br>冗談です はい(笑)';
o_c_kaku[7] =  1;
おみくじの結果を減らす。

 //設定〜//ここまでを2行1組で
 []内の数字の大きい方から削除してください。
 
 
  

ソース1(以下のソースを<head>〜</head>の間に書き込んでください)  
 
<script language="JavaScript" type="text/javascript">
<!--//Script Created by あう,http://www5c.biglobe.ne.jp/~horoau/
    //ver.2.0

o_c_kiti  = new Array();
o_c_kaku  = new Array();
o_c_check = 0;

//設定 o_c_cookie = 'o_c_cookie'; //クッキーの名前 o_c_zikan = '0:00'; //日付を切替える時間 o_c_nichi = 0; //基準の時間を過ぎた時の日付設定 o_c_mes = '-month-月-date-日の運勢は・・・'; //おみくじの結果の前のメッセージ
//おみくじの結果設定 o_c_kiti[1] = '大吉<br><br>いい日かも?'; //1個目のおみくじのメッセージ o_c_kaku[1] = 10; //1個目の上の項目を引く確率 //ここまで
function omikuziC() {o_c_temp = document.cookie; while(o_c_temp.indexOf(" ") != -1) {o_c_temp = o_c_temp.replace(" ","");} o_c_temp2 = o_c_temp.split(";"); for(i in o_c_temp2) {o_c_temp3 = o_c_temp2[i].split("="); if(o_c_temp3[0] == o_c_cookie) {o_c_check = 1; break;}} if(o_c_check) {o_c_temp4 = o_c_temp3[1].split("-"); i = o_c_temp4[2]; while(o_c_mes.indexOf('-month-') != -1) {o_c_mes = o_c_mes.replace("-month-",o_c_temp4[0]);} while(o_c_mes.indexOf('-date-') != -1) {o_c_mes = o_c_mes.replace('-date-',o_c_temp4[1]);} while(o_c_kiti[i].indexOf('<br>') != -1) {o_c_kiti[i] = o_c_kiti[i].replace('<br>','\n');}} else {o_c_total = 0; for(i=1;i<o_c_kaku.length;i++) {o_c_total += o_c_kaku[i];} o_c_hen = Math.ceil(Math.random()*o_c_total); o_c_ritu = 0; for(i=1;i<o_c_kaku.length;i++) {o_c_ritu += o_c_kaku[i] if(o_c_hen <= o_c_ritu) {while(o_c_kiti[i].indexOf("<br>") != -1) {o_c_kiti[i] = o_c_kiti[i].replace("<br>","\n");} o_c_cookie_set(i); while(o_c_mes.indexOf('-month-') != -1) {o_c_mes = o_c_mes.replace("-month-",o_c_month);} while(o_c_mes.indexOf('-date-') != -1) {o_c_mes = o_c_mes.replace('-date-',o_c_date2);} break;}}} alert(o_c_mes+o_c_kiti[i]);}
function o_c_cookie_set(i) {o_c_date = new Date(); o_c_month = o_c_date.getMonth()+1; o_c_date2 = o_c_date.getDate(); o_c_hour = o_c_date.getHours(); o_c_min = o_c_date.getMinutes(); o_c_now = (o_c_hour*60)+o_c_min; o_c_cook = o_c_zikan.split(":") o_c_kikan = ((o_c_cook[0]-0)*60)+(o_c_cook[1]-0); if(o_c_now < o_c_kikan) {o_c_date3 = new Date(); o_c_date3.setTime(new Date().getTime()+(24*60*60*1000)*(o_c_nichi-1)) o_c_month = o_c_date3.getMonth()+1; o_c_date2 = o_c_date3.getDate(); o_c_date.setTime(new Date().getTime()+((o_c_kikan-o_c_now)*60*1000)); document.cookie=o_c_cookie+"="+o_c_month+"-"+o_c_date2+"-"+i+";expires="+o_c_date.toGMTString()+";";} else if(o_c_now >= o_c_kikan) {o_c_date3 = new Date(); o_c_date3.setTime(new Date().getTime()+(24*60*60*1000)*o_c_nichi) o_c_month = o_c_date3.getMonth()+1; o_c_date2 = o_c_date3.getDate(); o_c_date.setTime(new Date().getTime()+((24*60*60*1000)-(o_c_now*60*1000-o_c_kikan*60*1000))); document.cookie=o_c_cookie+"="+o_c_month+"-"+o_c_date2+"-"+i+";expires="+o_c_date.toGMTString()+";";}}
// --> </script>

ソース2(以下のソースを<body>〜</body>の間に書き込んでください)  
 
<!--ボタンのおみくじ-->
<form>
<input type="button" value="おみくじ" onClick="omikuziC();">
</form>


スクリプト無効時には動作しません。
 <noscript>〜</noscript>の間にメッセージを書き込むなどしてください。


ウェブ木箱サンプル集
copyright(C) 2002-2004 あう