• 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
61 wizyt
pytanie zadane 5 lutego w JavaScript, jQuery, AJAX przez prymex Obywatel (1,070 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 Dyskutant (8,490 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 296 wizyt
–3 głosów
0 odpowiedzi 134 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

65,683 zapytań

112,321 odpowiedzi

237,045 komentarzy

46,657 pasjonatów

Przeglądających: 240
Pasjonatów: 10 Gości: 230

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.

...