dポイントプレゼントキャンペーン実施中!

下記のような占いを作りたいのですが、ご教授願えませんでしょうか??

【誕生日占い】
(例)1985年2月28日生まれの方
1、まず誕生日の数字をそれぞれ足します。
  (1+9+8+5+0+2+2+8)

2、その合計が「1」か「21」ならAページへ。
  その合計が「22」ならBページへ。
  その合計が上記3つ以外なら、「-22」を引いて、「2~20」それぞれのページへ。
  例の場合は、合計が「35」となりますので、「-22」を引き、結果「13」のページになります。

合計22個の結果をそれぞれのページへ移動したいです。


ちなみに、他サイトで似たようなソースを見つけました。
(参考:http://www.hajimeteno.ne.jp/dhtml/dist/js48.html


ここで占いの演算式を入れることができれば、理想なのですが、初心者にはとても自力で演算式を組むのが難しく…

分かりづらい説明で申し訳ございませんが、お助けいただければ嬉しいです。
どうぞよろしくお願いいたします。

A 回答 (3件)

<input type="text" value="1985" id="yy">


<input type="text" value="02" id="mm">
<input type="text" value="28" id="dd">
<input type="button" value="Go!" onClick="a()">

<script type="text/javascript">
function a(){
var yy = document.getElementById('yy').value;
var mm = document.getElementById('mm').value;
var dd = document.getElementById('dd').value;
var ss = eval((yy + mm + dd).split('').join('+'));
var url;
if (1==ss || 21 == ss) url = 'a.html';
if (22 == ss) url = 'b.html';
if (!url) url = (ss%23+1)+'.html';
location.href = url;
}
</script>
    • good
    • 1
この回答へのお礼

迅速なお返事をありがとうございます!
上のソースで、思い描いていたページを作ることができました!

自分ではわからないところも多々ありますが、教えていただいたソースを元に、自分でも理解できるようにします。
本当にありがとうございました!

お礼日時:2009/04/03 10:52

個人的には


var ss = eval((yy + mm + dd).split('').join('+'));
って、おぅ~って思ってんだけど・・・。

注意yy+mm+ddは文字列だし・・
%演算子も参照のこと
    • good
    • 0
この回答へのお礼

_pipi_さん、ありがとうございます!
私には上の_pipi_さんが悩んでいらっしゃる箇所もわからない初心者ですが、アドバイスを元に自身でも工夫してみます。
いろいろと手助けいただきまして、ありがとうございました!

お礼日時:2009/04/03 10:55

0のときあいまい?!



<input type="text" value="1985" id="yy">
<input type="text" value="02" id="mm">
<input type="text" value="28" id="dd">
<input type="button" value="Go!" onClick="a()">

<script type="text/javascript">
function a(){
var yy = document.getElementById('yy').value;
var mm = document.getElementById('mm').value;
var dd = document.getElementById('dd').value;
var ss = eval((yy + mm + dd).split('').join('+'));
var url;
if (1==ss || 21 == ss) url = 'a.html';
if (22 == ss) url = 'b.html';
if (!url) url = (ss%22)+'.html';
location.href = url;
}
</script>

この回答への補足

さっそくのご回答をありがとうございます!とてもうれしいです!

それで、質問の仕方がわかりづらくて大変申し訳ございません。
少し占いの計算方法について、補足させていただきます。

占いの誕生日の足し算ですが、誕生日の数字をバラバラにします。

【例1】2009年04月02日生まれ方だと…
2+0+0+9+0+4+0+2=17となり、「17」の数字のページへ行きたい。

【例2】1985年12月31日生まれの方だと…
1+9+8+5+1+2+3+1=30となり、23以上の場合は「-22」を引くので「8」となり、「8」のページへ行きたい。
※「22以上」ではなく、「23以上」でした。申し訳ございません。
 「22」の場合は、「22」のページに行きたいです。

となります。
なので、「0」という数字は基本的にできないようになっています。
ややこしくてすみません…どうぞご伝授のほど、よろしくお願いいたします。

補足日時:2009/04/02 18:41
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!