{"id":10251,"date":"2025-06-23T10:10:26","date_gmt":"2025-06-23T10:10:26","guid":{"rendered":"https:\/\/elfsight.com\/pl\/?p=10251"},"modified":"2025-06-25T20:23:20","modified_gmt":"2025-06-25T20:23:20","slug":"how-to-make-a-simple-html-calculator","status":"publish","type":"post","link":"https:\/\/elfsight.com\/pl\/blog\/how-to-make-a-simple-html-calculator\/","title":{"rendered":"Jak zrobi\u0107 prosty kalkulator w HTML-u"},"content":{"rendered":"
Je\u015bli potrzebujesz szybkiego i prostego kalkulatora z podstawowymi funkcjami, takimi jak dodawanie, odejmowanie, mno\u017cenie i dzielenie, skorzystaj z poni\u017cszego kodu. Mo\u017cesz wklei\u0107 ten kod HTML kalkulatora do swojego pliku HTML i sprawdzi\u0107, jak wszystko dzia\u0142a. Kod zawiera komentarze, kt\u00f3re pomog\u0105 Ci zrozumie\u0107 dzia\u0142anie oraz wprowadzi\u0107 zmiany w stylu i uk\u0142adzie aplikacji.<\/p>
<!DOCTYPE html><html lang=\"en\"><head> <meta charset=\"UTF-8\"> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"> <title>Prosty kalkulator<\/title> <style> \/* Styl dla ca\u0142ego cia\u0142a strony, centrowanie kalkulatora *\/ body { font-family: Arial, sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; background-color: #f0f0f0; } \/* Styl dla kontenera kalkulatora *\/ .calculator { background-color: white; padding: 20px; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } \/* Styl dla pola wy\u015bwietlacza *\/ .display { width: 160px; height: 40px; text-align: right; margin-bottom: 10px; font-size: 1.5em; padding: 5px; } \/* Uk\u0142ad siatki dla przycisk\u00f3w kalkulatora *\/ .buttons { display: grid; grid-template-columns: repeat(4, 40px); gap: 10px; } \/* Styl dla przycisk\u00f3w *\/ .buttons button { width: 40px; height: 40px; font-size: 1.2em; border: none; background-color: #4CAF50; color: white; border-radius: 5px; cursor: pointer; } \/* Efekt najechania na przyciski *\/ .buttons button:hover { background-color: #45a049; } \/* Specjalny styl dla przycisku r\u00f3wna si\u0119 *\/ .buttons .equals { grid-column: span 2; \/* Zajmuje 2 kolumny *\/ background-color: #2196F3; } \/* Efekt najechania na przycisk r\u00f3wna si\u0119 *\/ .buttons .equals:hover { background-color: #0b7dda; } <\/style><\/head><body> <div class=\"calculator\"> <!-- Pole wej\u015bciowe do wy\u015bwietlania wynik\u00f3w kalkulatora --> <input type=\"text\" class=\"display\" id=\"display\" disabled> <!-- Przyciski kalkulatora u\u0142o\u017cone w siatk\u0119 --> <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> \/* Zmienne do przechowywania bie\u017c\u0105cego i poprzedniego wej\u015bcia oraz operatora *\/ let currentInput = ''; let operator = ''; let previousInput = ''; \/* Funkcja dodaj\u0105ca liczby do bie\u017c\u0105cego wej\u015bcia *\/ function appendNumber(number) { currentInput += number; \/\/ Dodaj klikni\u0119t\u0105 cyfr\u0119 do bie\u017c\u0105cego wej\u015bcia document.getElementById('display').value = currentInput; \/\/ Aktualizuj wy\u015bwietlacz } \/* Funkcja ustawiaj\u0105ca operator i przygotowuj\u0105ca na kolejne wej\u015bcie *\/ function setOperator(op) { operator = op; \/\/ Zapisz wybrany operator previousInput = currentInput; \/\/ Zapisz bie\u017c\u0105ce wej\u015bcie jako poprzednie currentInput = ''; \/\/ Wyczy\u015b\u0107 bie\u017c\u0105ce wej\u015bcie na kolejn\u0105 liczb\u0119 } \/* Funkcja wykonuj\u0105ca obliczenia na podstawie operatora *\/ function calculate() { let result; \/\/ Wykonaj odpowiedni\u0105 operacj\u0119 w zale\u017cno\u015bci od operatora 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; \/\/ Wy\u015bwietl wynik currentInput = result.toString(); \/\/ Zapisz wynik jako nowe bie\u017c\u0105ce wej\u015bcie operator = ''; \/\/ Zresetuj operator } \/* Funkcja czyszcz\u0105ca wy\u015bwietlacz i resetuj\u0105ca kalkulator *\/ function clearDisplay() { currentInput = ''; previousInput = ''; operator = ''; document.getElementById('display').value = ''; \/\/ Wyczy\u015b\u0107 wy\u015bwietlacz } <\/script><\/body><\/html><\/code><\/pre>Wyja\u015bnienie kluczowych sekcji<\/h3>
Aby u\u0142atwi\u0107 zarz\u0105dzanie i dostosowanie kalkulatora, przygotowali\u015bmy dodatkowe wskaz\u00f3wki dotycz\u0105ce jego funkcji:<\/p>
Struktura HTML<\/h4>- Kalkulator znajduje si\u0119 w elemencie div o klasie calculator<\/em>.<\/li>
- Element input<\/em> s\u0142u\u017cy jako wy\u015bwietlacz kalkulatora i jest wy\u0142\u0105czony, aby u\u017cytkownicy nie mogli wpisywa\u0107 danych r\u0119cznie.<\/li>
- Przyciski s\u0105 u\u0142o\u017cone w siatk\u0119 w divie o klasie buttons<\/em>, tworz\u0105c uk\u0142ad przypominaj\u0105cy kalkulator.<\/li><\/ul>
Stylizacja CSS<\/h4>- Body strony jest stylizowane tak, aby kalkulator by\u0142 wy\u015brodkowany pionowo i poziomo.<\/li>
- Kalkulator ma bia\u0142e t\u0142o, zaokr\u0105glone rogi i cie\u0144, co nadaje mu wygl\u0105d karty.<\/li>
- Przyciski maj\u0105 jednolity rozmiar, kolor i efekt pod\u015bwietlenia przy najechaniu, co poprawia interakcj\u0119 wizualn\u0105.<\/li><\/ul>
Funkcjonalno\u015b\u0107 JavaScript<\/h4>- appendNumber()<\/em> dodaje cyfry do wy\u015bwietlacza po klikni\u0119ciu przycisku.<\/li>
- setOperator()<\/em> zapisuje wybrany operator (+, -, *, \/) i przechowuje bie\u017c\u0105ce wej\u015bcie jako poprzednie.<\/li>
- calculate()<\/em> wykonuje odpowiednie dzia\u0142anie matematyczne na podstawie wybranego operatora i pokazuje wynik.<\/li>
- clearDisplay()<\/em> resetuje kalkulator, czyszcz\u0105c wszystkie dane i wy\u015bwietlacz.<\/li><\/ul>
To prosty kalkulator wykorzystuj\u0105cy podstawowe HTML, CSS i JS, dlatego jego wygl\u0105d i mo\u017cliwo\u015bci s\u0105 ograniczone.<\/p>
<\/figure>Jak zrobi\u0107 kalkulator do z\u0142o\u017conych zada\u0144<\/h2>
Nasz prosty kalkulator HTML powy\u017cej sprawdza si\u0119 przy podstawowych operacjach i ma przejrzysty, funkcjonalny design. Nadaje si\u0119 do zabawy lub \u015bledzenia post\u0119p\u00f3w w nauce programowania. Jednak do profesjonalnych lub bardziej skomplikowanych zada\u0144 potrzebujesz czego\u015b bardziej zaawansowanego. Niezale\u017cnie czy planujesz bud\u017cet domowy, czy organizujesz wyjazd, rozbudowane funkcje kalkulacji mog\u0105 zrobi\u0107 du\u017c\u0105 r\u00f3\u017cnic\u0119. Jakie masz wi\u0119c opcje?<\/p>
Naucz si\u0119 wi\u0119cej kodowania<\/h3>
Najlepszym sposobem na realizacj\u0119 bardziej z\u0142o\u017conych projekt\u00f3w jest pog\u0142\u0119bienie wiedzy z HTML, CSS i JavaScript. Dzi\u0119ki temu stworzysz kalkulacje z wieloma polami, opcjami, warunkami i zmiennymi. Twoje umiej\u0119tno\u015bci programistyczne wykraczaj\u0105 wtedy daleko poza prosty kalkulator HTML. To d\u0142uga droga do przebycia.<\/p>
Wypr\u00f3buj wid\u017cet kalkulatora bez kodowania<\/h3>
Je\u015bli Twoje umiej\u0119tno\u015bci kodowania nie s\u0105 jeszcze zaawansowane, a potrzebujesz teraz pot\u0119\u017cnego rozwi\u0105zania, mamy dla Ciebie dobr\u0105 wiadomo\u015b\u0107. Mo\u017cesz stworzy\u0107 w\u0142asny wid\u017cet kalkulatora w HTML<\/a> bez \u017cadnej znajomo\u015bci kodowania. Dodasz wiele p\u00f3l, dostosujesz warunki i nazwiesz wszystko jasno pod sw\u00f3j scenariusz. Przetestuj go w edytorze poni\u017cej, zanim przejdziemy dalej.<\/p>\n \n \n