• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zamotanie w projekcie kalkulatora w JavaScript

0 głosów
51 wizyt
pytanie zadane 5 lutego w JavaScript, jQuery, AJAX przez prymex Obywatel (1,050 p.)
edycja 5 lutego przez prymex

Cześć po długim czasie programowania w PHP, przypominam sobie JavaScript i chciałem sam zrobić kalkulator, tylko nie chciałem żeby to był kalkulator na 2 liczby a taki naturalny tylko w pewnym momencie nie wiem co zrobić, ponieważ ani wynik mi nie wychodzi, tylko napis "NaN" ani w sumie coś chyba z Tablicami Array pomieszałem. Jeżeli ktoś ma chwilkę czasu proszę o pomoc.

<!DOCTYPE html>
<html lang="pl">
<head>
    <meta charset="UTF-8">
    <title>Kalkulator</title>
    <style>
        *{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body{
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
        }
        
        .main{
            width: 400px;
        }
        
        .score{
            width: 100%;
            height: 30px;
        }
        
        #plus{
            height: 50px;
        }
        
        #zero{
            width: 100px;
        }
        
        input{
            width: 50px;
            height: 25px;
        }
    
    </style>
</head>
<body>
    <div clas="main">
        <input class="score">
        <table>
            <tr>
                <td><input type="button" value="O"></td>
                <td><input type="button" value="C"></td>
                <td><input type="button" value="/"></td>
                <td><input type="button" value="*"></td>
            </tr>
            <tr>
                <td><input type="button" value="7" class="siedem"></td>
                <td><input type="button" value="8"></td>
                <td><input type="button" value="9"></td>
                <td><input type="button" value="-"></td>
            </tr>
            <tr>
                <td><input type="button" value="4"></td>
                <td><input type="button" value="5"></td>
                <td><input type="button" value="6"></td>
                <td><input type="button" value="+"></td>
            </tr>
            <tr>
                <td><input type="button" value="1"></td>
                <td><input type="button" value="2"></td>
                <td><input type="button" value="3"></td>
                <td rowspan="2"><input id="plus" type="button" value="="></td>
            </tr>
            <tr>
                <td colspan="2"><input id="zero" type="button" value="0"></td>
                <td><input type="button" value="."></td>
            </tr>
        </table>
    </div>
    <script>
    
        const inp = document.querySelectorAll('input');
        
        for(i=0; i < inp.length; i++){
        inp[i].addEventListener("click", function (){
        
            const liczba = new Array();
            liczbaz = 0;
            
            if(isFinite(this.value)==true || this.value=="."){
                
            document.querySelector('.score').value = document.querySelector('.score').value + this.value; 
            liczba.push = this.value;
            console.log(liczba);
            liczbaz++;
            }
            else{ 
                
                if(this.value!="="){
                    
                    var znak = this.value;
                    document.querySelector('.score').value = this.value;
                    
                }
                else{
                    
                    //for(a=0; a < liczbaz; a++){
                    
                    //var wynik = liczba[liczbaz]; 
                    //}
                
                    
                    var wynik = Number(liczba[1])+znak+Number(liczba[2])
                    
                    document.querySelector('.score').value = '='+wynik;
                }
                
            }
        })}
        
        
    </script>
</body>
</html>

 

komentarz 5 lutego przez kenjiro244 Mądrala (7,040 p.)

Nie wiem jak to ma się do błędu ale metoda push powinna chyba wyglądać tak push:

liczba.push(this.value);

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
2 odpowiedzi 291 wizyt
–3 głosów
0 odpowiedzi 130 wizyt
pytanie zadane 25 sierpnia 2018 w C i C++ przez Bohdan Filas Nowicjusz (120 p.)
Porady nie od parady
Odznacz odpowiedź zieloną fajką, jeśli uważasz, że jest ona najlepsza ze wszystkich i umożliwiła ci rozwiązanie problemu.Najlepsza odpowiedź

60,260 zapytań

105,943 odpowiedzi

220,119 komentarzy

32,467 pasjonatów

Przeglądających: 366
Pasjonatów: 22 Gości: 344

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...