๋ชฉ๋ก2022/02/07 (10)
whatisthis?
์ ์ด์ฟผ๋ฆฌ(jQuery) write less, do more ์ด๋ผ๋ ๋ชจํ ๋ก ๋ง๋ค์ด์ง ์คํ์์ค ๊ธฐ๋ฐ์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ. ์ฝ๊ฒ element๋ฅผ ์ฐพ๊ณ ์กฐ์ํ ์ ์๊ณ , ๋ธ๋ผ์ฐ์ ์ ํธํ์ฑ์ด ๋ฐ์ด๋๋ค. ๋ํ ๋ฉ์๋ ์ฒด์ด๋ ๋ฑ ์งง๊ณ , ์ ์ง๊ด๋ฆฌ๊ฐ ์ฉ์ดํ ์ฝ๋๋ฅผ ์ง์ํ๋ค. ์ฅ์ IE8,9๋ฅผ ์ง์ํ๋ค. ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ํธํ ๊ฐ๋ฅ. ์ฝ๋๊ฐ ๋ณด๊ธฐ ์ข๋ค. (๋์์ธ์ ์ํด) ํ๋ฌ๊ทธ์ธ์ ์ง์ํ๋ค. (๋ค์ํ ๊ธฐ๋ฅ ์ถ๊ฐ ๊ฐ๋ฅ) ์ ๋๋ฉ์ด์ , AJAX๋ ๊ฐ๋จํ ์ฌ์ฉ ๊ฐ๋ฅ. ๋จ์ ๋ฌด๊ฒ๋ค. ๋ฐ๋๋ผ ์๋ฐ์คํฌ๋ฆฝํธ๋ณด๋ค 10๋ฐฐ~100๋ฐฐ์ ๋ ๋๋ฆฌ๋ค. ๋ชจ๋ํ๊ฐ ์๋์ด์๋ค. ์> $(document).ready(function(){ alert("Hello World!"); $("#blackBox").hide(); }); window.onload..
์คํ ์ปจํ ์คํธ(Execution Context) javaScript. (18) ์คํ ์ปจํ ์คํธ ์คํ ์ปจํ ์คํธ (Execution Context) ์คํ ์ปจํ ์คํธ(Execution Context)๋ scope, hoisting, this, function, closure ๋ฑ์ ๋์์๋ฆฌ๋ฅผ ๋ด๊ณ ์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ํต์ฌ์๋ฆฌ์ด๋ค. var name = 'zero'; // ์ ์ญ๋ณ์.. mywebproject.tistory.com - ์ง๋๋ฒ์ ์ ๋ก๋ํ๋ ์คํ ์ปจํ ์คํธ ํฌ์คํ ์ var์ ๊ธฐ์ค์ผ๋ก ํ ์ค๋ช ์ด์๋ค. ์ ์ญ ์ปจํ ์คํธ ํ๋ ์์ฑ ํ, ํจ์ ํธ์ถ ์๋ง๋ค ์ปจํ ์คํธ๊ฐ ์๊น. ์ปจํ ์คํธ ์์ฑ ์ ์ปจํ ์คํธ ์์ ๋ณ์๊ฐ์ฒด(argument, variable) , ์ค์ฝํ์ฒด์ธ, this๊ฐ ์์ฑ๋จ. ์ปจํ ์คํธ ์์ฑ ํ ํจ์๊ฐ ์คํ๋๋๋ฐ..
์์น์ ์ผ๋ก, ์๋ฐ์คํฌ๋ฆฝํธ๋ก CSS๋ฅผ ์กฐ์ํ๋๊ฒ์ ์ง์ํ๋ ๊ฒ์ด ๋ง๋ค. ๊ทธ๋ฌ๋, CSS๋ง์ผ๋ก๋ ์ฒ๋ฆฌํ ์ ์์ ๋, (์ - ๋ฆฌ์กํธ๊ฐ์ ํ๋ ์์ํฌ๋ฅผ ์ฐ๊ฑฐ๋, ์คํฌ๋กค ๋ฌธ์ ํด๊ฒฐ์) ์ด์ฉ ์ ์์ด js๋ก CSS๋ฅผ ์กฐ์ํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๋ค. - ํ๊ทธ์ CSS๋ฅผ ๋ณ๊ฒฝ document.querySelector('์ ํ์').style.display = 'inline-block'; ์ฌ๊ธฐ์ ์ฃผ์ํ ์ ์ -๊ฐ ๋ค์ด๊ฐ ์์ฑ(์>background-color)์ -๋ฅผ ๋นผ๊ณ ๋ค์ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋ฐ๊ฟ์ค๋ค. (์๋ฐ์คํฌ๋ฆฝํธ๋ ์บ๋ฉ์ผ์ด์ค ์ด๋ฏ๋ก) +) ์ฒ์๋ถํฐ -๊ฐ ๋ถ์ CSS์์ฑ (์> -webkit) ๋ํ -๋ฅผ ์ ๊ฑฐํ๊ณ w๋ฅผ ๋๋ฌธ์๋ก ๋ฐ๊ฟ. - ์๋ฐ์คํฌ๋ฆฝํธ์์๋ '-'๊ฐ ๋นผ๊ธฐ ์ฐ์ฐ์๋ก ์ธ์๋จ. - ํ๊ทธ์ css ์์ฑ์ ์ฝ์ด..
1. ๋ค์ ๋์ค๋ CSS๊ฐ ์ฐ์ ์์๊ฐ ๋๋ค. 2. ์ฐ์ ์์๊ฐ ๊ฐ๋ค๋ฉด ๊ฐ์๊ฐ ๋ง์ ๊ฒ์ด ๋จผ์ ์คํ. (๋ถ๋ชจ-์์ ๊ด๊ณ๊ฐ ๋ง์ ๊ฒฝ์ฐ) !important โจ inline style attribute โจ id โจ class, ๋ค๋ฅธ ์์ฑ(attribute), ๊ฐ์ํด๋์ค(:) โจ tag element, ๊ฐ์์์(::) !important ์ฐ์ ์์๋ฅผ ๋ฌด์ํ๊ณ ๊ผญ ์ ์ฉ์ํฌ ์์ฑ์ ์์ฑ ๊ฐ(value) ๋ค์ !important ํค์๋๋ฅผ ๋ถ์ธ๋ค. .content{ color: black !important } - ์ฐ์ ์์ ๋ฟ๋ง ์๋๋ผ ๋์์ด๋์ ๊ฐ๋ฐ์๊ฐ ์ํต์ '์ค์ํ ์์ฑ์'์ ๋ํ๋. +) !important์ inline style attribute๋ ๋ณดํต์ ์ฌ์ฉ์ ์ ํํ๋ค. ref. CSS ์ ์ฉ ..
์ ๋ ฌ (align) ํ ์คํธ๋ ํ๊ทธ๋ฅผ ์ผ์ชฝ / ๊ฐ์ด๋ฐ / ์ค๋ฅธ์ชฝ์ ๋ฐฐ์นํ๋ ์์ . - ๋ณดํต ๊ฐ์ด๋ฐ ์ ๋ ฌ์ด๋ ์ค๋ฅธ์ชฝ ์ ๋ ฌ ๋ฑ ํน์ ํํ๋ฅผ ๋ง์ด ์ฌ์ฉํจ. ๋ถ๋ชจ ํ๊ทธ์ text-align์ ์ฌ์ฉํ๋ฉด? > ์์ ํ๊ทธ๋ค์ด ์ ๋ ฌ๋๋ค. #parent { text-align: center; } ๊ฐ๋ก ์ ๋ ฌ์ ์ฝ์ง๋ง, ์ธ๋ก๋ก ๊ฐ์ด๋ฐ ์ ๋ ฌ์ ํ๋ ๊ฒ์ด ์ด๋ ต๋ค. ๋ณดํต์ vertical-align: middle ์์ฑ์ ์๋ํ์ง๋ง, vertical-align์ ๋ค๋ฅธ ํ๊ทธ๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ง ์ ๋ ฌ์ด ๋๋ ๊ฒ์ด๋ผ์์์ ๋ค๋ฅธ ํ๊ทธ๊ฐ ์์ด์ผ๋ง ๊ทธ ํ๊ทธ์ ๋ง์ถฐ์ ์ธ๋ก ์ ๋ ฌ์ด ๋๋ค. @css display: flex; align-items: center; ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ flex๋ฅผ ์ด์ฉํ์ฌ align-items๋ฅผ center๋ก ์ค์ ํ๋ ๊ฒ์ด๋ค..
CSS ํฌ์ง์ (Position) ๋ชจ๋ ํ๊ทธ๋ค์ position: static์ด๋ผ๋ ๋ํดํธ ์ํ๋ฅผ ๊ฐ๋๋ค. ์ฐจ๋ก๋๋ก ์ผ์ชฝ>์ค๋ฅธ์ชฝ, ์>์๋๋ก ์์ธ๋ค. position static default relative static์ ํฝ์ ๋งํผ ์ด๋์ํด (top,right,bottom,left ์์ฑ ๆ) absolute static์ด ์๋ ํฌ์ง์ ์ ์กฐ์์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ (์์์ body) fixed ์คํฌ๋กค์ ๋ด๋ ค๋ ์์น ๊ณ ์ ๋๊ฒ relative ํ๊ทธ์ ์์น๋ฅผ ์ด์ง ๋ณ๊ฒฝํ๊ณ ์ถ์ ๋, position: relative๋ฅผ ์ฌ์ฉํ๋ค.์ด์ top, right, bottom, left ์์ฑ์ ์ฌ์ฉํ ์ ์๋ค. relative๋ ๊ฐ ๋ฐฉํฅ์ ๊ธฐ์ค์ผ๋ก ํ๊ทธ ์์ชฝ ๋ฐฉํฅ ์ผ๋ก ์ด๋ํ๋ค.(๋ฐ๊นฅ์ชฝ์ผ๋ก ์ด๋ํ๊ณ ์ถ๋ค๋ฉด? ์์์ ๊ฐ์ ์ฃผ์.)..
CSS part 1 - (1) ๋ฐ์ค ๋ชจ๋ธ(Box Model) content > padding > border > margin ์์ผ๋ก ๋ฐ๊นฅ์ผ๋ก ๋ป์ด๋๊ฐ๋ค. ๋ํ ๊ฐ ๊ฐ์ left, right, top, bottom์ผ๋ก ๋๋ ์ ธ์ ๊ฐ์ ๋ฐ๋ก ์ง์ ํด์ค ์ ์๋ค. ์> border-right : 20px; img cr : https://www.geeksfo.. mywebproject.tistory.com ์ด์ ์ ์ ๋ก๋ํ CSS์ ๋ฐ์ค ๋ชจ๋ธ์ ๋ํ ๊ฐ์ ํ ํฌ์คํ ์ ๋๋ค. HTML ํ๊ทธ๋ค์ ๋ชจ๋ ๋ฐ์ค๋ชจ๋ธ(Box-model)์ ๊ฐ์ง๊ณ ์๋ค. ๋ธ๋ผ์ฐ์ ์์ ๊ฐ๋ฐ์๋๊ตฌ๋ฅผ ์ผ์ Elements ํญ์์ ์๋ฌด ํ๊ทธ๋ ๋๋ฌ๋ณด๋ฉด position, margin, border, padding, content ์์ผ๋ก ๋์ค๊ฒ ๋๋ค. ์ด๊ฒ์ด ..
HTML/DOM. Form Data ๋ณดํต์ AJAX๋ก ํผ(form) ์ ์ก์ ํ ์ผ์ด ๊ฑฐ์ ์๋ค. ์ฃผ๋ก JSON๊ตฌ์กฐ (key-value)๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์กํจ. But. ์ด๋ฏธ์ง๋ฅผ AJAX๋ก ์ ๋ก๋ ํ ๋ ํผ ์ ์ก์ด ํ์ํจ. >> input type="file" ___ - HTML: Hypertext Markup Lan.. mywebproject.tistory.com formData์ ์ด๋ฏธ์ง๋ฅผ ๋ด๊ณ ์ถ๋ค๋ฉด formData.append('img', document.getElementById('ํ์ผ ์ธํ').files[0]) ๊ณผ ๊ฐ์ด ํด์ฃผ๊ณ , ์๋ฒ๋ก formData ์์ฒด๋ฅผ ๋ณด๋ด๋ฉด ๋๋ค. (ํ์ผ์ด ์ฌ๋ฌ๊ฐ๋ผ๋ฉด? > ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํด์ append๋ฅผ ํด์ค. ๋จ, ํค๊ฐ์ ๊ฐ์์ผํจ.) ํค๊ฐ์ด ๊ฐ์์ผ ์ฌ๋ฌ ํ์ผ์ด ๊ฐ์ ํค๋ก ์ ๋ก..
๋ณดํต์ AJAX๋ก ํผ(form) ์ ์ก์ ํ ์ผ์ด ๊ฑฐ์ ์๋ค. ์ฃผ๋ก JSON๊ตฌ์กฐ (key-value)๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์กํจ. But. ์ด๋ฏธ์ง๋ฅผ AJAX๋ก ์ ๋ก๋ ํ ๋ ํผ ์ ์ก์ด ํ์ํจ. >> input type="file" ___ - HTML: Hypertext Markup Language | MDN file ์ ํ์ ์์์๋ ์ ์ฅ ์ฅ์น์ ํ์ผ์ ํ๋ ํน์ ์ฌ๋ฌ ๊ฐ ์ ํํ ์ ์์ต๋๋ค. ๊ทธ ํ, ์์์ ์ ์ถํด ์๋ฒ๋ก ์ ์กํ๊ฑฐ๋, File API๋ฅผ ์ฌ์ฉํ JavaScript ์ฝ๋๋ก ์กฐ์ํ ์ ์์ต๋๋ค. developer.mozilla.org ํ์ผ ์ ๋ ฅ ์นธ์ value ํน์ฑ์ ์ ํํ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ๋ํ๋ด๋ DOMString์ ๋ด์ต๋๋ค. ์ฌ์ฉ์๊ฐ ์ฌ๋ฌ ๊ฐ์ ํ์ผ์ ์ ํํ ๊ฒฝ์ฐ value๋ ํ์ผ ๋ชฉ๋ก์ ์ฒซ ๋ฒ์งธ ํ์ผ์..
index.html undo redo pencil app.js (function($) { var tool; var canvas = $('paint'); var ctx = canvas.getContext('2d'); var history = { redo_list: [], undo_list: [], saveState: function(canvas, list, keep_redo) { keep_redo = keep_redo || false; if(!keep_redo) { this.redo_list = []; } (list || this.undo_list).push(canvas.toDataURL()); }, undo: function(canvas, ctx) { this.restoreState(canvas, ctx..