概要と目標 JavaScriptでおみくじアプリ。
完成例を参考におみくじアプリを作成して下さい。
おみくじの札の種類、デザインは任意とします。
完成例を参考におみくじアプリを作成して下さい。
おみくじの札の種類、デザインは任意とします。
完成したら、解答例を確認しましょう。
絶対的な正解はないので、参考程度に確認しましょう。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>おみくじ</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="l-container">
<h1 class="site-title" id="title">
<span class="site-title_caption">今日のあなたの運勢は?</span><br>
<span class="site-title_name">おみくじ</span>
</h1>
<p id="msg" class="message">「おみくじを引く」ボタンを押してね</p>
<button id="btn" class="button">おみくじを引く</button>
</div>
<!-- /.l-container -->
<script src="app.js"></script>
</body>
</html>
// タイプを配列で管理
var results = [
{
title: '大吉',
msg: 'おめでとう!今日は最高!'
},
{
title: '中吉',
msg: '今日はそこそこいいよ。'
},
{
title: '小吉',
msg: '今日はぼちぼちです。'
},
{
title: '吉',
msg: 'まぁ、普通です。'
},
{
title: '凶',
msg: '今日はあんまりよくないかも・・・'
},
{
title: '大凶',
msg: '今日は残念です。'
}
];
// 要素の取得
var title = document.getElementById('title');
var msg = document.getElementById('msg');
var btn = document.getElementById('btn');
// クリックイベントの生成
btn.addEventListener('click', function () {
// イベント発生時
// ランダムな数値を生成
var random = Math.floor(Math.random() * results.length);
// h1要素をおみくじ結果に変更
title.innerHTML = '<span class="site-title_result">' + results[random]['title'] + '</span>';
// p要素をおみくじ結果のメッセージに変更
msg.innerHTML = results[random]['msg'];
});
* {
margin: 0;
padding: 0;
font-size: 1em;
}
body {
background-image: url('images/bg-washi.png');
font: 1em/1.5 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "MS P明朝", serif;
color: #333;
}
.l-container {
width: 95%;
margin: 5em auto 0;
text-align: center;
}
.site-title {
margin-bottom: 3em;
line-height: 1.2;
height: 9em;
}
.site-title_caption {
font-size: 1.25em;
letter-spacing: -.05em;
}
.site-title_name {
font-size: 3em;
letter-spacing: .1em;
}
.site-title_result {
font-size: 3em;
letter-spacing: .1em;
display: inline-block;
width: 3em;
height: 3em;
border: 8px solid #B71C1C;
border-radius: 50%;
line-height: 3em;
letter-spacing: -.05em;
color: #B71C1C;
}
.message {
letter-spacing: .03em;
margin: 3em 0;
}
.button {
position: relative;
top: 0;
display: block;
border: 0;
outline: 0;
margin: 0 auto;
width: 240px;
background-color: #333;
color: #fff;
padding: 1em;
cursor: pointer;
border-radius: .5em;
box-shadow: 0 .125em 0 #121212;
transition: all 0.2s ease-in-out;
font: 1em/1.5 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "MS P明朝", serif;
}
.button:hover {
background-color: #666;
top: -2px;
box-shadow: 0 .25em 0 #333;
}
.button:active {
background-color: #121212;
top: 0px;
box-shadow: 0 1px 0 #000;
}
JavaScriptはプログラミング言語。
HTMLやCSSと比べるとかなり難易度が高い。