当我在M +中添加一个数字时,它可以正常工作,但是当我按下MC然后按下MR时,它们仍会显示数字。换句话说,内存还不是空的。 MR的另一个问题是当你在内存中有一个号码然后按下MR时,你会看到他而不是你最后输入的号码。这是我的代码:
<!DOCTYPE html>
<html>
<head>
<title>Calculator </title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<FORM name="Keypad" action="">
<input name="ReadOut" id="output" type="Text"
size=24 value="0" readonly>
<td><input id="screen" type="text" value=""
name="memoryindicator" readonly="readonly"> </td>
<table>
<tr>
<td><input id="btn7" type="Button" value="
7 " onclick="NumPressed(7)"></td>
<td><input id="btn8" type="Button" value="
8 " onclick="NumPressed(8)"></td>
<td><input id="btn9" type="Button" value="
9 " onclick="NumPressed(9)"></td>
<td colspan="2"><input id="btnC"
type="Button" value=" C " onclick="Clear()"></td>
<td><input id="btnM" type="Button" value="
MC " onclick="memoryclear(this)" />
</tr>
<tr>
<td><input id="btn4" type="Button" value="
4" onclick="NumPressed(4)"></td>
<td><input id="btn5" type="Button" value="
5 "onclick="NumPressed(5)"></td>
<td><input id="btn6" type="Button" value="
6 " onclick="NumPressed(6)"></td>
<td><input id="btnplusminus" type="Button"
value=" +/- " onclick="Neg()"></td>
<td><input id="btnplus" type="Button"
value=" + " onclick="Operation('+')"></td>
<td><input id="btnMR" type="Button" value="
MR " onclick="memoryrecall(this)" />
</tr>
<tr>
<td><input id="btn1" type="Button" value="
1 " onclick="NumPressed(1)"></td>
<td><input id="btn2" type="Button" value="
2 " onclick="NumPressed(2)"></td>
<td><input id="btn3" type="Button" value="
3 " onclick="NumPressed(3)"></td>
<td><input id="btnmultiply" type="Button"
value=" * " onclick="Operation('*')"></td>
<td><input id="btnminus" type="Button"
value=" - " onclick="Operation('-')"></td>
<td><input id="btnM" type="Button" value="
M- " onclick="memoryset(this)" />
</tr>
</table>
<input id="btn0" type="Button" value=" 0 "
onclick="NumPressed(0)">
<input id="btndecimal" type="Button" value=" . "
onclick="Decimal()">
<input id="btndivide" type="Button" value=" / "
onclick="Operation('/')">
<input id="percent" type="Button" value="%"
onclick="Percent()">
<td><input id="btnMM" type="Button" value=" M+ "
onclick="memoryadd(this)" />
</br>
<td><input id="btnequals" type="Button" value=" =
" onclick="Operation('=')"></td>
<input id="about" type="Button" value="About"
onclick="myFunction()">
<script src="pscript.js"></script>
</FORM>
</body>
</html>
使用Javascript:
// de variabelen
var FKeyPad = document.Keypad;
var Accumulate = 0;
var FlagNewNum = false;
var PendingOp = "";
var memory = 0;
function memoryclear (el) { // deze functie is voor de MC knop.
memory = 0; // wist letterlijk alles.
el.form.memoryindicator.value = memory;
}
function memoryrecall (el) { // Deze functie is voor de MR knop.
memory = parseFloat(FKeyPad.ReadOut.value); // het getal wat in
het scherm staat (readout) en je drukt op MR dan komt ie in het andere
schermpje te staan dmv de el.form .
el.form.memoryindicator.value = memory;
}
// deze functie is voor de M- knop.
function memoryset (el) {
memory -= parseFloat(FKeyPad.ReadOut.value);
el.form.memoryindicator.value = memory; // het getal wat in het
scherm staat - M- dus bijv je hebt 200 in je m+ en je drukt op m- dan gaat
het eraf dat komt door de -= Oftewel Readout -= de elform
}
function memoryadd (el) { // deze fucntie is voor de M+ knop
memory += parseFloat(FKeyPad.ReadOut.value);
el.form.memoryindicator.value = memory; // het getal wat in het
scherm staat + M+ dus bijv je hebt 20 in het scherm en je drukt op m+ dan
krijg
je dat in het andere scherm oftewel readout +=
}
function NumPressed (Num) { // de functie om te kunnen klikken op
mijn rekenmachine
if (FlagNewNum) {
FKeyPad.ReadOut.value = Num;
FlagNewNum = false;
}
else {
if (FKeyPad.ReadOut.value == "0")
FKeyPad.ReadOut.value = Num;
else
FKeyPad.ReadOut.value += Num;
}
}
function Operation (Op) { // deze functie berekent de + - / *
sommen.
var Readout = FKeyPad.ReadOut.value;
if (FlagNewNum && PendingOp != "=");
else
{
FlagNewNum = true;
if ( '+' == PendingOp )// de + som
Accumulate += parseFloat(Readout);
else if ( '-' == PendingOp ) // de - som
Accumulate -= parseFloat(Readout);
else if ( '/' == PendingOp ) // de / som
Accumulate /= parseFloat(Readout);
else if ( '*' == PendingOp ) // de * som
Accumulate *= parseFloat(Readout);
else
Accumulate = parseFloat(Readout);
FKeyPad.ReadOut.value = Accumulate;
PendingOp = Op;
}
}
function Decimal () { // deze functie is voor de . knop.
var curReadOut = FKeyPad.ReadOut.value;
if (FlagNewNum) {
curReadOut = "0.";
FlagNewNum = false;
}
else
{
if (curReadOut.indexOf(".") == -1)
curReadOut += ".";
}
FKeyPad.ReadOut.value = curReadOut;
}
function ClearEntry () { // Deze functie is om de knop C te kunnen
activeren.
FKeyPad.ReadOut.value = "0";
FlagNewNum = true;
}
function Clear () { // Deze functie is om de knop C te kunnen
activeren.
Accumulate = 0;
PendingOp = "";
ClearEntry();
}
function Neg () { // deze functie is voor de +/- knop deze knop is
een xtraatje aan mijn rekenmachine.
FKeyPad.ReadOut.value = parseFloat(FKeyPad.ReadOut.value) * -1;
}
function Percent () { // deze functie is voor % knop deze knop is
een xtraatje aan mijn rekenmachine.
FKeyPad.ReadOut.value = (parseFloat(FKeyPad.ReadOut.value) /
100);
}
function myFunction() { // dit is voor de knop about. een leuke knop
about me
alert("Gemaakt door yeey");
}
CSS:
input[type="button"]{
background:-webkit-gradient( linear, left top, left bottom,
color-stop(0.05, #606060), color-stop(1, #606060) );
background:-moz-linear-gradient( center top, #606060 5%, #606060
100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#606060',
endColorstr='#606060');
background-color:#606060;
border:1px solid #606060;
display:inline-block;
color:#fff;
font-family:Arial;
font-size:50px;
line-height:28px;
text-decoration:none;
text-align:center;
margin-bottom:1.5px;
margin-left: 1.5px;
margin-right:1.5px ;
margin-top:1.5px ;
height: 75px;
}
input[type="button"]{
width: 184px;
}
#btnC{
width:372.7px;
}
#btn0{
width:374.7px;
}
#btn0,#btndecimal,#btndivide {
margin-right: 0.1px;
}
#btn7,#btn4,#btn1,#btn0,#btnequals {
margin-left: 0.01px;
}
#btnequals {
height: 61px;
width: 950px;
margin-top: 3px;
}
input[type="button"]:active {
position:relative;
background:#989898;
}
input:focus {
outline:0;
}
input[type="Text"] {
padding-left: 10px;
margin-bottom: 1.5px;
font-size: 100px;
background-color: #202020 ;n
height:195px;
width: 935px;
border:none;
color:white;
}
body {
background-color: #080808 ;
overflow: hidden;
}
#about {
font-size: 45px;
height: 60px;
margin-left:2px ;
}
#screen {
width: 175px;
height: 115px;
margin-left: 8px;
}
#btnMM {
margin-left: 3px;
}
#btn0 {
margin-left: 4px;
}