• 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
53 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,280 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 292 wizyt
–3 głosów
0 odpowiedzi 131 wizyt
pytanie zadane 25 sierpnia 2018 w C i C++ przez Bohdan Filas Nowicjusz (120 p.)
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

62,260 zapytań

108,384 odpowiedzi

226,226 komentarzy

34,776 pasjonatów

Przeglądających: 296
Pasjonatów: 13 Gości: 283

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.

...