{"id":8596,"date":"2025-06-22T20:34:21","date_gmt":"2025-06-22T20:34:21","guid":{"rendered":"https:\/\/elfsight.com\/ja\/?p=8596"},"modified":"2025-06-23T12:22:44","modified_gmt":"2025-06-23T12:22:44","slug":"how-to-make-a-simple-html-calculator","status":"publish","type":"post","link":"https:\/\/elfsight.com\/ja\/blog\/how-to-make-a-simple-html-calculator\/","title":{"rendered":"\u30b7\u30f3\u30d7\u30eb\u306aHTML\u96fb\u5353\u306e\u4f5c\u308a\u65b9"},"content":{"rendered":"
\u8db3\u3057\u7b97\u3001\u5f15\u304d\u7b97\u3001\u639b\u3051\u7b97\u3001\u5272\u308a\u7b97\u3068\u3044\u3063\u305f\u57fa\u672c\u7684\u306a\u6a5f\u80fd\u3092\u5099\u3048\u305f\u30b7\u30f3\u30d7\u30eb\u3067\u624b\u65e9\u3044\u8a08\u7b97\u6a5f\u304c\u5fc5\u8981\u306a\u3089\u3001\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u4f7f\u3063\u3066\u304f\u3060\u3055\u3044\u3002\u3053\u306e\u8a08\u7b97\u6a5f\u306eHTML\u30b3\u30fc\u30c9\u3092\u3042\u306a\u305f\u306eHTML\u30d5\u30a1\u30a4\u30eb\u306b\u5165\u308c\u3066\u3001\u52d5\u4f5c\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\u30b3\u30fc\u30c9\u5185\u306b\u306f\u52d5\u4f5c\u306e\u4ed5\u7d44\u307f\u3084\u30b9\u30bf\u30a4\u30eb\u3084\u30ec\u30a4\u30a2\u30a6\u30c8\u306e\u5909\u66f4\u65b9\u6cd5\u304c\u308f\u304b\u308b\u30b3\u30e1\u30f3\u30c8\u3082\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002<\/p>
<!DOCTYPE html><html lang=\"en\"><head> <meta charset=\"UTF-8\"> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"> <title>Simple Calculator<\/title> <style> \/* \u30da\u30fc\u30b8\u5168\u4f53\u306e\u30b9\u30bf\u30a4\u30eb\u3001\u8a08\u7b97\u6a5f\u3092\u4e2d\u592e\u306b\u914d\u7f6e *\/ body { font-family: Arial, sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; background-color: #f0f0f0; } \/* \u8a08\u7b97\u6a5f\u30b3\u30f3\u30c6\u30ca\u306e\u30b9\u30bf\u30a4\u30eb *\/ .calculator { background-color: white; padding: 20px; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } \/* \u8868\u793a\u30a8\u30ea\u30a2\u306e\u30b9\u30bf\u30a4\u30eb *\/ .display { width: 160px; height: 40px; text-align: right; margin-bottom: 10px; font-size: 1.5em; padding: 5px; } \/* \u8a08\u7b97\u6a5f\u30dc\u30bf\u30f3\u306e\u30b0\u30ea\u30c3\u30c9\u30ec\u30a4\u30a2\u30a6\u30c8 *\/ .buttons { display: grid; grid-template-columns: repeat(4, 40px); gap: 10px; } \/* \u30dc\u30bf\u30f3\u306e\u30b9\u30bf\u30a4\u30eb *\/ .buttons button { width: 40px; height: 40px; font-size: 1.2em; border: none; background-color: #4CAF50; color: white; border-radius: 5px; cursor: pointer; } \/* \u30dc\u30bf\u30f3\u306e\u30db\u30d0\u30fc\u52b9\u679c *\/ .buttons button:hover { background-color: #45a049; } \/* \u30a4\u30b3\u30fc\u30eb\u30dc\u30bf\u30f3\u306e\u7279\u5225\u306a\u30b9\u30bf\u30a4\u30eb *\/ .buttons .equals { grid-column: span 2; \/* 2\u5217\u5206\u3092\u5360\u3081\u308b *\/ background-color: #2196F3; } \/* \u30a4\u30b3\u30fc\u30eb\u30dc\u30bf\u30f3\u306e\u30db\u30d0\u30fc\u52b9\u679c *\/ .buttons .equals:hover { background-color: #0b7dda; } <\/style><\/head><body> <div class=\"calculator\"> <!-- \u8a08\u7b97\u7d50\u679c\u3092\u8868\u793a\u3059\u308b\u5165\u529b\u30d5\u30a3\u30fc\u30eb\u30c9 --> <input type=\"text\" class=\"display\" id=\"display\" disabled> <!-- \u30b0\u30ea\u30c3\u30c9\u3067\u914d\u7f6e\u3055\u308c\u305f\u8a08\u7b97\u6a5f\u30dc\u30bf\u30f3 --> <div class=\"buttons\"> <button onclick=\"appendNumber('1')\">1<\/button> <button onclick=\"appendNumber('2')\">2<\/button> <button onclick=\"appendNumber('3')\">3<\/button> <button onclick=\"setOperator('+')\">+<\/button> <button onclick=\"appendNumber('4')\">4<\/button> <button onclick=\"appendNumber('5')\">5<\/button> <button onclick=\"appendNumber('6')\">6<\/button> <button onclick=\"setOperator('-')\">-<\/button> <button onclick=\"appendNumber('7')\">7<\/button> <button onclick=\"appendNumber('8')\">8<\/button> <button onclick=\"appendNumber('9')\">9<\/button> <button onclick=\"setOperator('*')\">*<\/button> <button onclick=\"clearDisplay()\">C<\/button> <button onclick=\"appendNumber('0')\">0<\/button> <button onclick=\"calculate()\" class=\"equals\">=<\/button> <button onclick=\"setOperator('\/')\">\/<\/button> <\/div> <\/div> <script> \/* \u73fe\u5728\u306e\u5165\u529b\u3001\u524d\u306e\u5165\u529b\u3001\u6f14\u7b97\u5b50\u3092\u4fdd\u5b58\u3059\u308b\u5909\u6570 *\/ let currentInput = ''; let operator = ''; let previousInput = ''; \/* \u6570\u5b57\u3092\u73fe\u5728\u306e\u5165\u529b\u306b\u8ffd\u52a0\u3059\u308b\u95a2\u6570 *\/ function appendNumber(number) { currentInput += number; \/\/ \u30af\u30ea\u30c3\u30af\u3055\u308c\u305f\u6570\u5b57\u3092\u73fe\u5728\u306e\u5165\u529b\u306b\u8ffd\u52a0 document.getElementById('display').value = currentInput; \/\/ \u8868\u793a\u3092\u66f4\u65b0 } \/* \u6f14\u7b97\u5b50\u3092\u8a2d\u5b9a\u3057\u3001\u6b21\u306e\u5165\u529b\u306b\u5099\u3048\u308b\u95a2\u6570 *\/ function setOperator(op) { operator = op; \/\/ \u9078\u629e\u3055\u308c\u305f\u6f14\u7b97\u5b50\u3092\u4fdd\u5b58 previousInput = currentInput; \/\/ \u73fe\u5728\u306e\u5165\u529b\u3092\u524d\u306e\u5165\u529b\u3068\u3057\u3066\u4fdd\u5b58 currentInput = ''; \/\/ \u6b21\u306e\u6570\u5b57\u306e\u305f\u3081\u306b\u73fe\u5728\u306e\u5165\u529b\u3092\u30af\u30ea\u30a2 } \/* \u6f14\u7b97\u5b50\u306b\u57fa\u3065\u3044\u3066\u8a08\u7b97\u3092\u5b9f\u884c\u3059\u308b\u95a2\u6570 *\/ function calculate() { let result; \/\/ \u6f14\u7b97\u5b50\u306b\u5fdc\u3058\u3066\u9069\u5207\u306a\u8a08\u7b97\u3092\u5b9f\u884c if (operator === '+') { result = parseFloat(previousInput) + parseFloat(currentInput); } else if (operator === '-') { result = parseFloat(previousInput) - parseFloat(currentInput); } else if (operator === '*') { result = parseFloat(previousInput) * parseFloat(currentInput); } else if (operator === '\/') { result = parseFloat(previousInput) \/ parseFloat(currentInput); } document.getElementById('display').value = result; \/\/ \u7d50\u679c\u3092\u8868\u793a currentInput = result.toString(); \/\/ \u7d50\u679c\u3092\u65b0\u3057\u3044\u73fe\u5728\u306e\u5165\u529b\u3068\u3057\u3066\u4fdd\u5b58 operator = ''; \/\/ \u6f14\u7b97\u5b50\u3092\u30ea\u30bb\u30c3\u30c8 } \/* \u8868\u793a\u3092\u30af\u30ea\u30a2\u3057\u3001\u8a08\u7b97\u6a5f\u3092\u30ea\u30bb\u30c3\u30c8\u3059\u308b\u95a2\u6570 *\/ function clearDisplay() { currentInput = ''; previousInput = ''; operator = ''; document.getElementById('display').value = ''; \/\/ \u8868\u793a\u3092\u30af\u30ea\u30a2 } <\/script><\/body><\/html><\/code><\/pre>\u4e3b\u8981\u30bb\u30af\u30b7\u30e7\u30f3\u306e\u8aac\u660e<\/h3>
\u8a08\u7b97\u6a5f\u306e\u7ba1\u7406\u3084\u8abf\u6574\u3092\u3057\u3084\u3059\u304f\u3059\u308b\u305f\u3081\u306b\u3001\u6a5f\u80fd\u306b\u3064\u3044\u3066\u306e\u8aac\u660e\u3092\u8ffd\u52a0\u3057\u307e\u3057\u305f\uff1a<\/p>
HTML\u69cb\u9020<\/h4>- \u8a08\u7b97\u6a5f\u306f calculator<\/em> \u30af\u30e9\u30b9\u306ediv\u8981\u7d20\u5185\u306b\u53ce\u3081\u3089\u308c\u3066\u3044\u307e\u3059\u3002<\/li>
- input<\/em> \u8981\u7d20\u304c\u8a08\u7b97\u6a5f\u306e\u8868\u793a\u7528\u306b\u4f7f\u308f\u308c\u3066\u304a\u308a\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u76f4\u63a5\u5165\u529b\u3067\u304d\u306a\u3044\u3088\u3046\u306b\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/li>
- \u30dc\u30bf\u30f3\u306f buttons<\/em> div\u3067\u30b0\u30ea\u30c3\u30c9\u5f62\u5f0f\u306b\u6574\u7406\u3055\u308c\u3001\u8a08\u7b97\u6a5f\u306e\u5f62\u306b\u914d\u7f6e\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/li><\/ul>
CSS\u30b9\u30bf\u30a4\u30ea\u30f3\u30b0<\/h4>- \u30da\u30fc\u30b8\u306ebody\u306f\u8a08\u7b97\u6a5f\u3092\u7e26\u6a2a\u4e2d\u592e\u306b\u914d\u7f6e\u3059\u308b\u3088\u3046\u306b\u30b9\u30bf\u30a4\u30eb\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/li>
- \u8a08\u7b97\u6a5f\u672c\u4f53\u306f\u767d\u80cc\u666f\u3067\u89d2\u304c\u4e38\u304f\u3001\u30ab\u30fc\u30c9\u306e\u3088\u3046\u306a\u5f71\u304c\u4ed8\u3051\u3089\u308c\u3066\u3044\u307e\u3059\u3002<\/li>
- \u30dc\u30bf\u30f3\u306f\u30b5\u30a4\u30ba\u3084\u8272\u304c\u7d71\u4e00\u3055\u308c\u3001\u30db\u30d0\u30fc\u6642\u306b\u8996\u899a\u7684\u306a\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u304c\u3042\u308b\u3088\u3046\u306b\u30c7\u30b6\u30a4\u30f3\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/li><\/ul>
JavaScript\u306e\u6a5f\u80fd<\/h4>- appendNumber()<\/em> \u306f\u30e6\u30fc\u30b6\u30fc\u304c\u30dc\u30bf\u30f3\u3092\u30af\u30ea\u30c3\u30af\u3057\u305f\u3068\u304d\u306b\u6570\u5b57\u3092\u8868\u793a\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002<\/li>
- setOperator()<\/em> \u306f\u9078\u629e\u3055\u308c\u305f\u6f14\u7b97\u5b50\uff08\uff0b\u3001\u2212\u3001\uff0a\u3001\uff0f\uff09\u3092\u4fdd\u5b58\u3057\u3001\u73fe\u5728\u306e\u5165\u529b\u3092\u524d\u306e\u5165\u529b\u3068\u3057\u3066\u8a18\u61b6\u3057\u307e\u3059\u3002<\/li>
- calculate()<\/em> \u306f\u9078\u629e\u3055\u308c\u305f\u6f14\u7b97\u5b50\u306b\u57fa\u3065\u3044\u3066\u8a08\u7b97\u3092\u884c\u3044\u3001\u7d50\u679c\u3092\u8868\u793a\u3057\u307e\u3059\u3002<\/li>
- clearDisplay()<\/em> \u306f\u3059\u3079\u3066\u306e\u5165\u529b\u3068\u8868\u793a\u3092\u30af\u30ea\u30a2\u3057\u3066\u8a08\u7b97\u6a5f\u3092\u30ea\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002<\/li><\/ul>
\u3053\u308c\u306f\u57fa\u672c\u7684\u306aHTML\u3001CSS\u3001JS\u3092\u4f7f\u3063\u305f\u30b7\u30f3\u30d7\u30eb\u306a\u8a08\u7b97\u6a5f\u3067\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u898b\u305f\u76ee\u3084\u6a5f\u80fd\u306f\u304b\u306a\u308a\u9650\u5b9a\u7684\u3067\u3059\u3002<\/p>
<\/figure>\u8907\u96d1\u306a\u8a08\u7b97\u7528\u306e\u8a08\u7b97\u6a5f\u306e\u4f5c\u308a\u65b9<\/h2>
\u4e0a\u8a18\u306e\u30b7\u30f3\u30d7\u30eb\u306aHTML\u8a08\u7b97\u6a5f\u306f\u57fa\u672c\u7684\u306a\u64cd\u4f5c\u306b\u9069\u3057\u3066\u304a\u308a\u3001\u30b7\u30f3\u30d7\u30eb\u3067\u6a5f\u80fd\u7684\u306a\u30c7\u30b6\u30a4\u30f3\u3067\u3059\u3002\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u5b66\u7fd2\u306e\u9032\u6357\u3092\u78ba\u8a8d\u3057\u305f\u308a\u3001\u3061\u3087\u3063\u3068\u3057\u305f\u904a\u3073\u306b\u4f7f\u3046\u306e\u306b\u826f\u3044\u3067\u3057\u3087\u3046\u3002\u3057\u304b\u3057\u3001\u30d7\u30ed\u30d5\u30a7\u30c3\u30b7\u30e7\u30ca\u30eb\u306a\u7528\u9014\u3084\u3088\u308a\u8907\u96d1\u306a\u8a08\u7b97\u306b\u306f\u3001\u3088\u308a\u9ad8\u5ea6\u306a\u3082\u306e\u304c\u5fc5\u8981\u306b\u306a\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\u5bb6\u8a08\u306e\u4e88\u7b97\u3092\u7acb\u3066\u305f\u308a\u65c5\u884c\u306e\u8a08\u753b\u3092\u3057\u305f\u308a\u3059\u308b\u5834\u5408\u3001\u8a08\u7b97\u6a5f\u80fd\u304c\u5145\u5b9f\u3057\u3066\u3044\u308b\u3068\u5927\u304d\u306a\u52a9\u3051\u306b\u306a\u308a\u307e\u3059\u3002\u3067\u306f\u3001\u3069\u3093\u306a\u9078\u629e\u80a2\u304c\u3042\u308b\u3067\u3057\u3087\u3046\u304b\uff1f<\/p>
\u3055\u3089\u306b\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3092\u5b66\u3076<\/h3>
\u3088\u308a\u8907\u96d1\u306a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u53d6\u308a\u7d44\u3080\u6700\u5584\u306e\u65b9\u6cd5\u306f\u3001HTML\u3001CSS\u3001JavaScript\u3092\u3055\u3089\u306b\u6df1\u304f\u5b66\u3076\u3053\u3068\u3067\u3059\u3002\u9ad8\u5ea6\u306a\u77e5\u8b58\u304c\u3042\u308c\u3070\u3001\u8907\u6570\u306e\u5165\u529b\u6b04\u3084\u30aa\u30d7\u30b7\u30e7\u30f3\u3001\u6761\u4ef6\u3001\u5909\u6570\u3092\u4f7f\u3063\u305f\u8a08\u7b97\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002\u305d\u306e\u6642\u70b9\u3067\u3001\u5358\u306a\u308b\u57fa\u672c\u7684\u306aHTML\u8a08\u7b97\u6a5f\u3092\u4f5c\u308b\u4ee5\u4e0a\u306e\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30b9\u30ad\u30eb\u3092\u8eab\u306b\u3064\u3051\u3066\u3044\u308b\u3067\u3057\u3087\u3046\u3002\u9053\u306e\u308a\u306f\u9577\u3044\u3067\u3059\u304c\u3002<\/p>
\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u4e0d\u8981\u306eHTML\u8a08\u7b97\u6a5f\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u3092\u8a66\u3059<\/h3>
\u3082\u3057\u307e\u3060\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u30b9\u30ad\u30eb\u304c\u5341\u5206\u3067\u306a\u304f\u3001\u4eca\u3059\u3050\u5f37\u529b\u306a\u89e3\u6c7a\u7b56\u304c\u5fc5\u8981\u306a\u3089\u3001\u6717\u5831\u3067\u3059\u3002\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u4e0d\u8981\u3067\u30ab\u30b9\u30bf\u30e0\u306eHTML\u8a08\u7b97\u6a5f\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8<\/a>\u3092\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002\u591a\u6570\u306e\u5165\u529b\u6b04\u3092\u8ffd\u52a0\u3057\u3001\u6761\u4ef6\u3092\u8abf\u6574\u3057\u3001\u30b7\u30ca\u30ea\u30aa\u306b\u5408\u308f\u305b\u3066\u308f\u304b\u308a\u3084\u3059\u304f\u540d\u524d\u3092\u4ed8\u3051\u3089\u308c\u307e\u3059\u3002\u7d9a\u3051\u308b\u524d\u306b\u3001\u4e0b\u306e\u30a8\u30c7\u30a3\u30bf\u30fc\u3067\u305c\u3072\u8a66\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n \n \n