우아한 프로그래밍
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>
[결과]
공유하기
게시글 관리
우아한 프로그래밍
저작자표시
우아한 프로그래밍
@자바조아!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!
검색 태그
버추얼박스 리눅스
자바
setinterval 동작 안함
http쿠키란
경제 분석
톰캣
setinterval 지연
이클립스
java file read
java file write
쿠버네티스 세팅을 위한 nat network 설정
응답모델
쿠버네티스 클러스터 삭제
요청모델
Nat Network
개발 오토
mvc 모델 구조
버추얼박스 네트워크 설정
디자인패턴
스프링부트
ERD
크롬
쿠키종류
금리 정책
개발자 오토핫키
크롬 userAgent 변경
JavaScript
버블소팅
이클립스 서버
java
티스토리툴바