GJrdoq ('-' * 6)
Forked from Captain Anonymous's Pen zGojjx.
Forked from Captain Anonymous's Pen zGojjx.
A Pen by Tiffany White on CodePen.
GJrdoq ('-' * 6)
Forked from Captain Anonymous's Pen zGojjx.
Forked from Captain Anonymous's Pen zGojjx.
A Pen by Tiffany White on CodePen.
<div class="container"> | |
<div class="row"> | |
<div id="screen"><span id="ops-queue"></span></div> | |
<div class="key">1</div> | |
<div class="key">2</div> | |
<div class="key">3</div> | |
</div> | |
<div class="row"> | |
<div class="key">4</div> | |
<div class="key">5</div> | |
<div class="key">6</div> | |
</div> | |
<div class="row"> | |
<div class="key">7</div> | |
<div class="key">8</div> | |
<div class="key">9</div> | |
</div> | |
<div class="row"> | |
<div class="key">+</div> | |
<div class="key">-</div> | |
<div class="key">x</div> | |
</div> | |
<div class="row"> | |
<div class="key">/</div> | |
<div class="key" id="solve">=</div> | |
<div id="clear"class="key">C</div> | |
</div> | |
<br> | |
</div> |
$(document).ready(function() { | |
var operationQueue = []; | |
var add = function(a, b) { | |
var c = parseInt(a), d = parseInt(b); | |
return c + d; | |
}; | |
var multiply = function(a, b) { | |
return a * b; | |
}; | |
var divide = function(a, b) { | |
if (b !== 0) { | |
return a / b; | |
} else { | |
return "Err"; | |
} | |
}; | |
var subtract = function(a, b) { | |
return a - b; | |
}; | |
var performOperation = function(operation, a, b){ | |
if(operation==="+"){ | |
return add(a, b); | |
} else if(operation==="-") { | |
return subtract(a, b); | |
} else if(operation==="x") { | |
return multiply(a, b); | |
} else { | |
return divide(a, b); | |
} | |
}; | |
$('.key').click(function() { | |
var value = $(this).html(); | |
if(value === "="){ | |
a = operationQueue.shift(); | |
operation = operationQueue.shift(); | |
b = operationQueue.shift(); | |
result = performOperation(operation, a, b); | |
operationQueue.push(result); | |
} else { | |
operationQueue.push(value); | |
} | |
$( '#ops-queue' ).html(operationQueue); | |
}); | |
}); |
.container { | |
background: #1E1E1E; | |
width: 150px; | |
border-radius: 15px; | |
margin: 50px auto; | |
overflow: hidden; | |
padding: 8px; | |
} | |
.key { | |
background: -webkit-linear-gradient(#4B4B4B, #111); | |
background: -moz-linear-gradient(#4B4B4B, #111); | |
background: linear-gradient(#4B4B4B, #111); | |
border: 1px solid #282828; | |
border-radius: 50%; | |
color: #999; | |
cursor: pointer; | |
float: left; | |
margin: 8px 0px; | |
margin-right: 8px; | |
padding: 12px 8px; | |
width: 10px; | |
text-align: center; | |
} | |
#clear { | |
color: light-green; | |
} | |
#screen { | |
-webkit-flex-wrap: wrap; | |
-ms-flex-wrap: wrap; | |
flex-wrap: wrap; | |
background: #D4DAB6; | |
border: 1px solid #282828; | |
border-radius: 5px; | |
font-size: 30px; | |
line-height: 30px; | |
margin: 10px auto; | |
padding-right: 10px; | |
text-align: right; | |
height: 80px; | |
width:140px; | |
} | |
#ops-queue { | |
color: #000; | |
-webkit-flex-wrap: wrap; | |
-ms-flex-wrap: wrap; | |
flex-wrap: wrap; | |
width: 50%; | |
height: 80px; | |
} | |
.key:hover { | |
background: #999; | |
color: #777; | |
} |