
<div class="display"></div>
<div class="box">
<div class="switch" id="1">1</div>
<div class="switch" id="2">2</div>
<div class="switch" id="3">3</div>
<div class="switch" id="4">4</div>
<div class="switch" id="5">5</div>
<div class="switch" id="6">6</div>
<div class="switch" id="7">7</div>
<div class="switch" id="8">8</div>
<div class="switch" id="9">9</div>
<div class="switch" id="0">0</div>
<div class="reset">AC</div>
<div class="result">=</div>
</div>
<div class="signal">
<div class="calculation" id="plus">+</div>
<div class="calculation" id="minus">-</div>
<div class="calculation" id="multiply">×</div>
<div class="calculation" id="divide">÷</div>
</div>
¥HTML¥
.display{
border: 2px solid black;
width: 150px;
height: 50px;
margin-bottom: 10px;
line-height: 50px;
text-align: right;
overflow: hidden;
}
.box{
width: 150px;
height:200px;
border: 1px solid black;
display: flex;
flex-wrap: wrap;
}
.switch,.reset,.result{
width: 50px;
height: 50px;
line-height: 50px;
text-align: center;
border: 1px solid black;
box-sizing: border-box;
cursor: pointer;
}
.signal{
width: 200px;
height: 50px;
border: 1px solid black;
margin-top: 10px;
display: flex;
}
.calculation{
width: 50px;
height: 50px;
border: 1px solid black;
cursor: pointer;
text-align: center;
line-height: 50px;
font-size: 1.4em;
}
¥CSS¥

解答ソースコード
var saveNum;
$(function () {
$(".switch").click(function(){
var num=$(this).attr("id");
$(".display").append(num);
});
$(".calculation").click(function(){
saveNum=$(".display").text();
$(".display").text(");
$(".active").removeClass("active");
$(this).addClass("active");
});
$(".reset").click(function(){
saveNum=0;
$(".display").text(");
});
$(".result").click(function(){
var calculation=$(".active").attr("id");
switch (calculation) {
case "plus":plus();
break;
case "minus":minus();
break;
case "multiply":multiply();
break;
case "divide":divide();
break;
}
});
//ここからプラスが押された時の処理
function plus(){
var result = parseFloat(saveNum) + parseFloat($(".display").text());
$(".display").text(result);
}
//ここからマイナスが押された時の処理
function minus(){
var result = parseFloat(saveNum)-parseFloat($(".display").text());
$(".display").text(result);
}
//ここから掛るが押された時の処理
function multiply() {
var result = parseFloat(saveNum) * parseFloat($(".display").text());
$(".display").text(result);
}
//ここから割るが押された時の処理
function divide() {
var result = parseFloat(saveNum) / parseFloat($(".display").text());
$(".display").text(result);
}
});
¥JavaScript¥
甲賀
なら実務レベルで使えるスキルを
体系的に学ぶことが可能です
Web制作学習は、決して楽ではありませんが
「正しい方向で」「コツコツ」と続ければ、
必ずスキルアップする事が可能です。
甲賀では、挫折せずに学習を継続するための
カリキュラム・サポート体制をご用意しています。
↓↓↓↓
ステップバイステップで
着実にスキルが身につくカリキュラム
-
step 01
初心者でもよく分かる!
Web制作の基礎の基礎1.知っておこうWeb制作に関する基礎知識の話
2.HTMLの書き方や役割を基礎から学ぶマークアップ入門
3.CSSで挫折しない為の基礎学習【超重要プロパティ】
4.基礎を終えたらHTMLコーディングを鍛えよう(デザインから)
5.初心者向けHTMLコーディング完全解説(STEP1総まとめ)
-
step 02
真似して覚えるWeb制作
(デザイン〜プログラミングまで)1.属性ってなに?などなどHTML,CSSの深堀り編
2.デザイナーから直接学ぶ猫ちゃんサイトのデザイン解説
3.鎧模写-YOROIMOSYA【銅の鎧】
4.JavaScriptで学ぶプログラミングの基本のきほん【16項目】
-
step 03
動きをつけたり、効率化!
脱初心者を目指すためのスキルを学ぼう1.jQueryの基本的な使い方から応用まで【プラグイン解説あり】
2.Web制作でCSSを簡単に書くためのSASS入門【小技あり】
3.現場で使うCSS設計の考え方参考サイトを元に解説
4.生のJavaScriptだけで英単語アプリを作ろう(音声読み上げ付き)
-
step 04
ここまでくれば中級者!
ちょこっと応用編のWeb制作1.JavaScriptの屋敷【鳳凰の間】
2.JavaScriptで作るLINE風チャットボット
3.コマンドラインとアプリ操作を同時に学べるGit【15選】
4.EJSを使いコーディング力を中級者まで引き上げる
-
step 05
実務で必須の制作スキル
WordPressについて学ぶ1.鎧模写-YOROIMOSYA【銀の鎧】
2.PHPを基礎から学びたい人向け14項目から学ぶ【入門】
3.PHPで簡易的な掲示板を作ってみよう【コーディングあり】
4.甘えを吹き飛ばす!WordPress開発
5.WordPressで¥400,000の案件を徹底解説!
6.WordPress有料テーマSnow Monkeyの解体書
解説
次にcalculationがクリックされたとき演算が決められるのでまずdisplayに入っている数字を保存しておきます。そしてdisplayの中を空にします。最後にクリックされたcalculationにactiveというクラスを与えてます。しかしこのままだと重複が発生するためクラスを与える前に、activeクラスを持っているものからactiveを剥奪しています。
次にリセットボタンですが、リセットは保存していたsaveNumを0にし、displayの中を空にすれば完成なのでとても簡単です。
最後に結果を出力するにはactiveクラスを持っている要素のidを取得し、その値によって処理を変更します。後ろの方に書いてあるコードで四則演算を定義しています。