우아한 프로그래밍
Published 2016. 9. 9. 15:40
[JAVASCRIPT/실습] 자바스크립트를 이용한 아주 간단한 계산기
카테고리 없음
자바스크립트를 이용하여 간단하게 계산기를 만들어 보았습니다.
물론 현재 오류는 존재합니다.
만든 목적은 그냥 아주 간단한 계산기를 만들기 위함입니다.
[소스코드]
<!DOCTYPE html> <head> <meta charset="EUC-KR"> <title>계산기</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.css"> <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script> <script> function Calculator(){ var self = this; this.input = $("#calcInput span"); this.bindEvent = function(){ $("td").on("click", function(){ var key = $(this).text(); var value = self.input.text() == '0' ? '' : self.input.text(); if( key == '='){ value = value.replace(/×/gi, '*'); self.input.text( eval("(" + value + ")")); } else{ self.input.text( value + key); } }) console.log("BindEvent();") } this.reset = function(){ this.input.text("0"); } this.init = function(){ this.reset(); this.bindEvent(); } }; $(document).ready(function(){ var calc = new Calculator(); calc.init(); }) </script> <style> #wrap { width: 400px; height: 500px; margin: 0 auto; margin-top: 10%; border: 1px solid black; border-radius:6px; padding: 10px 5px 5px 5px; background: url("D:/dev/workspace/Calc/html/Green-Natural-Background-Vector-Illustration.jpg") no-repeat; } #calcBtnTable { text-align : center; width: 100%; height: 380px; border-spacing: 5px; border-collapse: separate; position: relative; margin-top : 5px; margin-bottom : 5px; } #calcTitle { height:50px; width : 100%; text-align: center; font-size: 20px; font-weight: bold; display: table; } #calcTitle span { display: table-cell; text-align: left; vertical-align: middle; text-align: center; } #calcInput { height:50px; width : 100%; border: 1px solid black; border-radius:6px; font-size: 18px; text-align: right; display: table; padding-right: 10px; } #calcInput span { display: table-cell; text-align: left; vertical-align: middle; text-align: right; } table td { vertical-align: middle; font-weight: bold; font-size: 22px; background-color: #D5D5D5; border-radius:6px; border: 1px solid black; } </style> </head> <div id="wrap"> <div id="calcTitle"><span>계산기</span></div> <div id="calcInput"><span>100000000000</span></div> <table id="calcBtnTable"> <tr> <td value='7'>7</td> <td value='8'>8</td> <td value='9'>9</td> <td value='÷'>÷</td> </tr> <tr> <td value='4'>4</td> <td value='5'>5</td> <td value='6'>6</td> <td value='×'>×</td> </tr> <tr> <td value='1'>1</td> <td value='2'>2</td> <td value='3'>3</td> <td value='-'>-</td> </tr> <tr> <td value='0'>0</td> <td value='.'>.</td> <td value='='>=</td> <td value='+'>+</td> </tr> </table> </div>
[결과]
공유하기
게시글 관리
우아한 프로그래밍
저작자표시
우아한 프로그래밍
@자바조아!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!
검색 태그
개발 오토
경제 분석
JavaScript
쿠키종류
버추얼박스 네트워크 설정
setinterval 동작 안함
개발자 오토핫키
디자인패턴
java
크롬
Nat Network
setinterval 지연
금리 정책
요청모델
응답모델
이클립스
버블소팅
쿠버네티스 세팅을 위한 nat network 설정
버추얼박스 리눅스
톰캣
쿠버네티스 클러스터 삭제
mvc 모델 구조
이클립스 서버
크롬 userAgent 변경
스프링부트
ERD
java file read
자바
http쿠키란
java file write
티스토리툴바