JavaScriptでおみくじアプリをつくります。

やるなら1月1日にやれ!
はい、分かっています。

はじめに超簡単なおみくじをつくる

おみくじアプリはJavaScriptの学習ネタのなかでも定番中の定番です。それではやってみましょう。

おみくじの上下関係

ところで大吉が一番よいのは疑いようがないのですが、吉と中吉、小吉、末吉の上下関係はどうなっているのでしょうか? これは神社によってさまざまで吉は「中吉より上」とか「小吉より下」などいろいろなルール(?)があります。正月からこんなことでもめたくないので「吉」はなしにして[‘大吉’, ‘中吉’, ‘小吉’, ‘末吉’, ‘凶’]とします。

最初は超基本の部分からはじめます。ボタンをクリックしたら[‘大吉’, ‘中吉’, ‘小吉’, ‘末吉’, ‘凶’]のなかからランダムに選んで結果を表示するだけです。レイアウトとかビジュアルとか一切考えていません。

[‘大吉’, ‘中吉’, ‘小吉’, ‘末吉’, ‘凶’]と要素が5つあるので0~4までの整数の乱数を生成して結果を表示させています。

これだけでは味気ないので次はもうちょっとデザイン性のあるものをつくります。

箱からおみくじが飛び出させるには

文字だけでは味気ないので次はデザイン性も考えます。おみくじの箱のなかからおみくじが飛び出してきて結果が表示されるようにつくりかえます。あと結果が表示されたときに効果音もならします。

素材はここから拝借しました。これを加工して箱とおみくじに分割します。

おみくじイラスト – No: 23385904/無料イラストなら「イラストAC」

絶対配置にして箱とおみくじの表示座標を好きなように変更できるようにします。最初はおみくじは箱の後ろに隠れていてみえません。

HTML部分

index.html

JavaScript部分

JavaScript部分を示します。

最初は最初はおみくじは箱の後ろに隠れていてみないのですが、ボタンをクリックすると乱数で選ばれたおみくじのひとつが上に移動して見えるようになります。ある程度上まで移動したら下に移動させます。

下に移動させるタイミングでz-indexを変更して箱よりもおみくじが手前に表示させるようにします。これでおみくじが箱のなかから飛び出したように見せかけます。おみくじの動作が停止したら効果音として太鼓の音をならします。

app.js