Website: mankapuas.sch.id

Instagram : man_kapuas
FB : MAN Kapuas
Youtube : MAN KAPUAS
MAN KAPUAS : Akreditasi : A
Website Dalam Pengembangan

Alat hitung 1 JS

 var screen = document.querySelector('.calculator_screen'),

    numBtns = document.querySelectorAll('.num'),

    operatorBtns = document.querySelectorAll('.operatorBtn'),

    equalBtn = document.querySelector('.equalBtn'),

    allClearBtn = document.querySelector('.allClear'),

    deleteBtn = document.querySelector('.delete'),

    parcent = document.querySelector('.parcent'),

    resultDisplayed = false;

    // adding click handler to number buttons

    for(var i=0; i<numBtns.length; i++){

        numBtns[i].addEventListener('click', function(e){

            // storing current input string and its last character in variables.

            var currentString = screen.value

            var lastChar = currentString[currentString.length - 1]

            if(resultDisplayed === false){

                screen.value += e.target.innerHTML

            }

            else if(resultDisplayed === true && lastChar == "+" || lastChar == "-" || lastChar == "×" || lastChar == "÷"){

                resultDisplayed = false

                screen.value += e.target.innerHTML

            }

            else{

                resultDisplayed = false

                screen.value = ""

                screen.value += e.target.innerHTML

            }

        })

    }

    // adding click handler to operator buttons

    for(var i=0; i<operatorBtns.length; i++){

        operatorBtns[i].addEventListener('click', function(e){

             // storing current input string and its last character in variables.

             var currentString = screen.value

             var lastChar = currentString[currentString.length -1]

             if(lastChar === "+" || lastChar === "-" || lastChar === "×" || lastChar === "÷"){

                var newString = currentString.substring(0, currentString.length - 1) + e.target.innerHTML

                screen.value = newString

             }

             else if(currentString.length == 0){

                alert("Enter a number first.")

             }

             else{

                screen.value += e.target.innerHTML

             }

        })

    }

    // adding click handler to equal button

    equalBtn.addEventListener('click', function(){

        var inputString = screen.value

        var numbers = inputString.split(/\+|\-|\×|\÷/g)

        var operators = inputString.replace(/[0-9]|\./g, "").split("")

        // console.log(inputString);

        // console.log(numbers);

        // console.log(operators);

        // now we are looping through the array and doing one operation at a time.

        // first divide, then multiply, then subtraction and then addition

        var divide = operators.indexOf("÷")

        while(divide != -1){

            numbers.splice(divide, 2, numbers[divide] / numbers[divide + 1])

            operators.splice(divide, 1)

            divide = operators.indexOf("÷")

        }

        var multiply = operators.indexOf("×")

        while(multiply != -1){

            numbers.splice(multiply, 2, numbers[multiply] * numbers[multiply + 1])

            operators.splice(multiply, 1)

            multiply = operators.indexOf("×")

        }

        var subtract = operators.indexOf("-")

        while(subtract != -1){

            numbers.splice(subtract, 2, numbers[subtract] - numbers[subtract + 1])

            operators.splice(subtract, 1)

            subtract = operators.indexOf("-")

        }

        var add = operators.indexOf("+")

        while(add != -1){

            // using parseFloat is necessary, otherwise it will show result in string concatenation.

            numbers.splice(add, 2, parseFloat(numbers[add]) + parseFloat(numbers[add + 1]))

            operators.splice(add, 1)

            add = operators.indexOf("+")

        }

        screen.value = numbers[0] // displaying the output

        resultDisplayed = true

    })

    allClearBtn.addEventListener('click', function(){

        screen.value = ""

    })

    deleteBtn.addEventListener('click', function(){

        var deleteValue = screen.value.slice(0, -1)

        screen.value = deleteValue

    })

    parcent.addEventListener('click', function(){

        var par = eval(screen.value / 100)

        screen.value = par

    })



0 komentar:

Pages - Menu

Teknologi hanyalah alat. Namun, untuk menjadikan peserta didik bisa saling bekerjasama dan termotivasi, guru adalah yang paling penting.” ---Bill Gates---

Online


Powered by IT Komputer MAN Kapuas