HTML

<input type="">

type이 button인 경우 value값은 버튼의 text

type이 radio나 checkbox인 경우는 id나 name으로 묶어서 처리한다.

체크가 됐는지는 obj.checked를 이용하여 확인

 

콤보박스

<select> <option></option> </select> //selectedIndex사용으로 선택한 인덱스 확인 (id를 가져오면 배열이기에)

 

<script></script>안에 작성

function키워드도 script안에 작성

 

css

수평 정렬 : 자손에게 float속성, 부모의 overflow속성은 hidden //overflow를 해야 글자가 안떠다님

중앙 정렬 : width속성을 부여, margin속성을 '0 auto'로 입력

one True 정렬 : 부모 태그에 width 입력, 수평 정렬하는 부모에 overflow:hidden적용, 자손태그에 width와 float 부여

절대 위치 배치 : 자손 position : absolute, 부모 position : relative

요소 중앙 배치 : 중앙 정렬하는 div태그 position : absolute, left, top속성 50%지정, div태그

-> margin-left, margin-top 속성 음수 입력(값은 div태그의 너비와 높이의 정확히 반)

고정 바 배치 : position : fixed, left,top,right,bottom속성에 값을 입력해 위치 설정, width,heigth 속성으로 크기 조절

 

jQuery

<script src="http://code.jquery.com/jquery-3.1.0.js"></script> // jQuery 라이브러리 사용

&(선택자).메서드(매개변수, 매개변수)

&(document).ready(...); -> HTML 문서 로드가 완료되면 ... 실행

attr(); //문서 객체의 속성 조작

ex) var src = &('script').attr('src'); //속성을 추출

 

시스템 메세지 출력 alert("내용");

 

id를 이용한 값 가져오기 : document.getElementById("Id").value

id를 이용한 객체 가져오기 : document.getElementById("Id");

id를 이용한 내용 바꾸기  : document.getElementById("Id").innerHTML;

 

jQuery는 id를 '#var'방식으로 가져온다.

id를 이용한 값 가져오기 : var1= $('#var1').val();

id를 이용한 내용 바꾸기  : $('#result').text(parseInt(var1)+parseInt(var2));

 

hover(올릴 때, 내릴 때)

 

마우스 들어감  : $(".box").mouseenter(function(){

$("#result").text("마우스 들어감);
});

마우스 나감  : $(".box").mouseleave(function(){

$("#result").text("마우스 나감);
});

 

hover로도 구현 가능 hover(올릴 때, 내릴 때)

$(".box").hover(

function(){

$(this).css("background-color","red"); //this는 .box와 동일(자기 자신)

$(this).html("red");

},function(){

$(this).css("background-color","blue");

$(this).html("blue");

}

);

 

css제어

$('h1').css('color','red');

 

<div></div>는 $('div').click();으로 제어

<div class="box"></div>는 $('.box').css({});로 제어

<div id="box"></div>는 $("#box").css({});로 제어

 

JSON : 속성 : 값이 쌍으로 되어있다.

 

AJAX : 비동기 방식으로 표기

 

form control

$("#mySelect").on('change',function(){}); // 변경 이벤트

선택 된 값 가져오기 : select

$("#mySelect option:selected").val(); //value값 (영어)

$("#mySelect option:selected").text(); //text값 (한글)

input

$("input[name='city']:checked").val(); // 값 가져오기 (radio)

$("input:checkbox[name='item']").each(function(){}); //each는 자동 반복

 

포커스 맞추기 : $(this).focus();

포커스 잃을 때 : $("#password").blur(function());

 

$(document).ready(function(){});

 

html(); //문서 객체 내부의 HTML 태그 조작 (HTML 효과 적용)

var text= &('h1').text(); -> 선택된 모든 객체 글자 추출

text(); //문서 객체 내부의 글자 조작 (단순 글자)

var html= &('h1').html(); -> 첫 번째 객체 글자 추출

 

$('h1:nth-child(1)').text("..."); 단순 텍스트 (h1의 1번)

$('h1:nth-child(2)").html("..."); 하이퍼링크 적용(h1의 2번)

 

이미지 숨기기 jQuery

$("Hide_Button").click(function(){

$("img").hide();

});

이미지 보이기

$("Show_Button").click(function(){

$("img").show();

});

 

input type

아이디 : text

비밀번호 : password

성별 radio(택 1)

복수선택 checkbox

제출 버튼 submit

 

변수를 체크했는가(했으면 true, 아니면 false) : var.is(":checked)"

form에서 var value = ("#value");를 한 후 value.val()로 값을 가져와 체크

-> 입력이 안되있으면 value.focus()를 통하여 포커스 주기

 

$("#form의 id").submit(); //서버로 전송

 

이벤트

on() 이벤트 연결

off() 이벤트 제거

ex) &(selector).on(eventName,eventHandler);

 

event.preventDefault(); // 서버로 입력 양식 전송 중단

 

mouseover랑 mouseenter 거의 비슷

mouseout랑 mouseleave 거의 비슷

 

클래스 조작

addClass() 클래스 추가

removeClass() 클래스 제거

toggleClass() 클래스 전환

 

시각 효과

show(속도) : 문서 객체가 커지며 표시

hide(속도) : 문서 객체가 작아지며 표시

toggle(속도) : show()메서드 hide()메서드 번갈아 실행

 

slideDown(속도) : 문서 객체가 슬라이드 효과와 함께 표시

slideUp(속도) : 문서 객체가 슬라이드 효과와 함께 사라짐

slideToggle(속도) : slideDown()메서드 slideUp()메서드 번갈아 실행

 

fadeIn(속도) : 문서 객체가 선명해지며 표시

fadeOut(속도) : 문서 객체가 흐려지며 표시

fadeToggle(속도) : fadeIn()메서드 fadeOut()메서드 번갈아 실행

 

속도 문자열

slow 600ms

normal 500ms

fast 400ms

 

애니메이션 효과 //큐 방식 선입선출

animate() 메서드

1. &(selector).animate(속성 객체);

2. &(selector).animate(속성 객체, 시간);

3. &(selector).animate(속성 객체, 시간, 콜백 함수// 모션 끝난 뒤 새로운 모션 실행);

 

일정시간 애니메이션 정지 : dealy()

애니메이션 중단 : stop()

ex0 &('h1').stop(clearQueue,goToEnd);

clearQueue (기본값)

- false - 현재 실행중인 애니메이션만 멈춤

- true - 예약된 모든 애니메이션 멈춤

goToEnd 매개변수 : 애니메이션 중지할 때 어떤 상태로 종료할지 지정

- false - 현재 상태 멈춤

- true - 마지막 상태로 가서 멈춤

 

setInterval(함수, 특정 시간); //특정 시간마다 함수 실행

 

fadeIn : 서서히 보임(show)

fadeOut : 서서히 사라짐(hide)

 

애니메이션 제어 : $("img").animate({내용});

height : 'toggle' (ON/OFF 제어)

 

Javascript

 

obj.value는 value값을

obj.text는 html내용을 가져옴

 

DOM 객체 찾기

1. getElementById(); // id로 찾기 (단수)

2. getElementsByTagName(); // TagName으로 찾기 (복수)

ex) document.getElementsByTagName("div"); 

3. getElementsByClassName(); // ClassName으로 찾기 (복수)

ex) document.getElementsByTagName("class"); 

4. getElementsByName(); // Name으로 찾기 (복수)

 

var p = document.getElementById("ID"); // id를 찾아 p 변수에 대입

p.id; = id의 이름

p.tagName = id를 가진 태그 이름

p.innerHTML = 적용된 HTML 내용

p.style.color = 글자 색

p.onclick = onclick을 할 때의 정보

p.childElementCount = 자식의 개수

p.offsetWidth = p의 너비

p.offsetHeight = p의 높이

 

this키워드 : 객체 자신을 가리킨다.

 

자바스크립트 코드 작성 위치

1. HTML 태그 이벤트 리스너 속성

2. <script></script>태그 //head 태그, body 태그 내 어디든 가능, 여러 번 삽입 가능

3. 자바스크립트 파일.js // <script src="파일이름.js">코드 추가 X</script> 

4. 하이퍼링크의 href부분

 

javascript:alert("내용") <- 내용을 가진 창을 띄워줌

prompt("메세지","디폴트 입력값") - 인자(입력 값), 확인, 취소

ex) var ret = prompt("이름을 입력", "최진수"); 

confirm("메세지") - 확인, 취소

ex) var ret = confirm("메세지");

alert("메세지") - 확인

ex) alert("클릭"); 

 

보통 받아오는 값은 string(문자열)형태이기에 parseInt("값");을 통하여 정수형으로 형변환 해야한다.

 

함수에서 자기 자신 넘기기 ex) onclick="over(this)"

 

웹 페이지 : document

브라우저 윈도우 출력

document.write() //printf()

document.writeln() //\n을 사용 줄넘기기x 한 칸띄우기

document.write("<h3>내용</h3>"); // h3태그를 출력하는 방법(다른 태그도 동일)

 

이벤트 리스너

1. onmouseover="코드"; // 마우스가 올라가면

2. onmouseout="코드"; // 마우스가 내려가면

 

이벤트

load 이벤트 - 1. HTML 문서 전체 로딩완료 2. 이미지의 로딩 완료시

click 이벤트 - 마우스 클릭

submit 이벤트 - submit 버튼 클릭

reset 이벤트 - reset 버튼 클릭

focus 이벤트 - 입력하기 위해 선택

keypress 이벤트 - 키를 누를 때

keyup 이벤트 - 누른 키를 놓을 때

resize 이벤트 - 윈도우 크기 변경 시

change 이벤트 - 라디오 버튼 선택 시

dbclick 이벤트 - 마우스 더블클릭 시

 

if-else if-else

if(조건){
}

else if(조건){

}

else{

}

 

switch(식){

case 값:

실행문

break;

case 값:

실행문

break;

......

default:

실행문

}

 

eval(exp) : exp의 자바스크립트 식을 계산하고 결과 리턴

parseInt(str) : str문자열을 10진수 정수로 변환하여 리턴

parseInt(str,radix) : str문자열을 radix 진수로 해석하고, 10진수 정수로 바꾸어 리턴

parseFloat(str) : str문자열을 실수로 바꾸어 리턴

isFinite(value) : value가 숫자면 true

isNaN(value) : value가 숫자가 아니면 true

 

css제어

ex)

function over(obj)

{

obj.style.background="yellow";

}

 

addEventListener(eventName, listener,[useCapture])

 

p = document.getElementById("p");
p.addEventListener("mouseover", over); // 이벤트 리스너 over 등록
p.addEventListener("mouseout", out); 

 

onfocus - 포커스를 받을 때 발생

onblur - 포커스를 잃을 때 발생

 

함수 안에 var를 통해 선언 => 지역 변수

함수 밖에 var를 통해 선언 또는 함수 안에 var없이 선언 => 전역 변수

지역 변수와 전역 변수의 이름이 같을 때 전역 변수에 접근하기 위해서는 this.전역변수를 사용하면 된다.

 

이벤트 객체는 이벤트 리스너 함수의 첫 번째 매개변수로 전달

1. 이름을 가진 이벤트 리스너

function f(e){....} //매개변수 e에 이벤트 객체 전달받음

obj.onclick = f; // obj 객체의 onclick 리스너로 함수 f 등록

2. 익명 함수인 경우

obj.onclick = function(e){...} //매개변수 e에 이벤트 객체 전달받음

3. HTML 태그에 이벤트 리스너

function f(e) {...}

<button onclick="f(event)">버튼</button>

<div onclick="alert(event.type)">버튼</div>

 

이벤트 객체에 들어있는 정보

- 현재 발생한 이벤트에 관한 다양한 정보 -> 객체의 프로퍼티와 메소드로 알 수 있다.

- 이벤트 객체의 공통 멤버

1. type - 현재 발생한 이벤트 종류

2. target - 이벤트를 발생시킨 객체

3. currentTarget - 현재 이벤트 리스너를 실행하고 있는 DOM객체

4. defaultPrevented - 이벤트의 디폴트 행동이 취소되었는지 나타내는 true/false 값

5. preventDefault() - 이벤트의 디폴트 행동을 취소시키는 메소드

 

이벤트의 디폴트 행동

- 특정 이벤트에 대한 HTML 태그의 기본 행동

ex) <a>의 click 이벤트 디폴트 행동 -> 웹 페이지 이동

이를 막는 방법

1. 이벤트 리스너에서 false 리턴

-> <a href="http://www.naver.com" onclick="return false">이동 안 되는 링크</a>

2. 이벤트 객체의 preventDefault() 메소드 호출

-> <a href="http://www.naver.com" onclick="event.preventDefault();">이동 안되는 링크</a>

 

document : HTML 문서 전체를 대변 // DOM객체가 아님

-> 연결된 스타일 시트가 없어 document에서는 CSS3스타일시트 연결X

 

style 시트에서의 direction : rtl(right-to-left direction) | ltr(left-to-right direction) // 오른쪽 정렬, 왼쪽 정렬

 

onload = "내용"; // 페이지가 모두 로드 되고 실행

 

onload 리스너

- window 객체에 발생(body로 onload하는 것과 동일)

- 이미지 로딩 완료

 

document.write();

document.writeln(); // HTML 텍스트에 \n을 덧붙여 출력 => 한 칸 띄는 효과 == &nbsp;

-> 한 줄을 띄려면 document.write("<br>");

document.open(); // 현재 브라우저에 출력된 HTML 지우고 새 HTML 페이지 시작

document.close(); // 현재 브라우저에 출력된 HTML 페이지 완성 (더 이상 document.write() 사용 불가)

 

사용자 객체 만들기

1. 직접 객체 만들기 : new Object() 이용 //객체 안에 멤버 변수, 메소드 작성(메소드는 미리 함수 작성)

2. 직접 객체 만들기 : 리터럴 표기법 이용 //객체 안에 멤버 변수, 메소드 작성(메소드도 작성)

3. 객체의 틀(프로토타입)을 만들고 객체 생성 - 일반적으로 사용(클래스)

- function student(name,score){ 내용 } 처럼 생성자 함수 구현 //안에 멤버 변수, 메소드 작성

-> new 연산자를 이용해객체 생성

 

window.open(URL,NAME,OPTION);

1. URL : 새 창에 URL 주소 열기

2. NAME : 이름 또는 target 속성(_blank, _parent, _self, _top, name)

3. OPTION : width, height, toolbar, menubar, ...

 

배열

ex) var cities = ["Seoul","New York","Paris"]; //크기가 3인 배열

-> cities[3] = "A"; // 크기가 4인 배열로 변한다. 

=> 배열 크기 고정 X, 마지막 원소 추가 시 증가

ex) cities[10] = "B"; // 오류(cities의 크기는 3 증가해도 4였기 때문에 범위를 넘음)

 

배열의 length프로퍼티

배열.length; => 배열의 크기

이를 이용하여 배열 크기 조절 가능

배열.length = 10; //크기가 10으로 조정 처음 10개 원소 외 모두 삭제

배열에 여러 타입 데이터 섞어서 저장 가능(0번은 0, 1번은 5.5, 2번은 "문자열", 3번은 Date객체, ... 등)

 

c = a.concat(b); // c는 a와 b를 연결한 새 배열

c = a.join("##"); // c는 배열 a를 연결한 문자열

c = a.reverse(); // a.reverse()로 a 배열도 변경, c는 결과 배열 (문자열이 a,c 둘다 뒤집힘)

c = a.slice(1,2); // c는 새 배열이며, 배열 1번을자름 (slice(start,end); start<=값<end;)

c = a.sort(); // a.sort()로 a 배열도 변경, c는 결과 배열 => 정렬

c = a.toString(); // 원소 사이에 ","를 넣어 문자열 생성

 

Date 객체

var now = new Date(시,분,초);

now.toUTCString(); // Universal Time Coordinated 국제 사회가 사용하는 과학적 시간 표준

now.getFullYear(); // 년도 ex)2021

now.getMonth(); // 월(1월을 0부터 시작)

now.getDate(); // 일

now.getHours(); // 시간

now.getMinutes(); // 분

now.getSeconds(); // 초

now.getMilliseconds(); // 밀리초

now.toLocaleString(); // 지역(현지)시간

 

String 객체

var a = new String("Boys");

a.charAt(0); // 0번째 글자 가져오기(배열 인덱스)

a.concat(b,"입니다") // a의 뒤에 b변수와 "입니다" 붙이기

a.indexOf("s"); // 해당 문자의 위치를 배열 인덱스값으로 줌( 없으면 -1 )

a.slice(5,8); // 5번 인덱스 부터 8번 전까지 추출

a.substr(5,3); // 5번 인덱스 부터 3글자 추출

a.toUpperCase(); // 대문자로 변환

a.replace("and","or"); // and를 or로 변환 (앞 매개변수를 뒤 매개변수로 변환)

a.trim(); // 공백 제거

var c = a.split(" "); // 매개변수로 분리 => 배열 생성(변수에 넣음), c는 배열이 된다.

 

수학

Math.floor(값) : 소수점 이하는 버림

Math객체

new Math()로 객체 생성 X => 바로 사용

ex) Math.sqrt(4);

난수 발생

var m = Math.random()*100; // m은 0~99.999....보다 작은 실수 난수

var n = Math.floor(m); // m에서 소수점 이하 제거(0~99사이)

 

문서 동적 구성

DOM 객체 동적 생성 : document.createElement("태그 이름");

DOM 트리에 삽입 :

1. 부모.appendChild(DOM 객체);

new.appendChild(newDIV); - 마지막 자식으로 추가

2. 부모.insertBefore(DOM 객체, [기준자식]);

new.insertBefore(newDIV, new.childNodes[n]);- 태그의 n+1 번째 자식 앞에 추가

DOM 객체 삭제

var removeObj = 부모.removeChild(삭제 할 객체);

 

이벤트 흐름

- 캡쳐 단계

- 버블 단계

- 이벤트 흐름 중단 : stop.Propagation() 호출

 

마우스 이벤트 객체의 프로퍼티

x,y - (x,y)는 타겟 객체의 부모 객체 내에서의 마우스 좌표

screenX, screenY - (screenX,screenY)는 스크린 기준으로 한 마우스 좌표

clientX, clientY - (clientX,clientY)는 브라우저 윈도우의 문서출력 영역 내에서 마우스 좌표

offsetX, offsetY - (offsetX,offsetY)는 타겟 객체 내에서 마우스 좌표

button - 눌린 마우스 버튼

0 - 버튼 안누름

1 - 왼쪽 버튼

2 - 오른쪽 버튼

3 - 왼쪽, 오른쪽 버튼 둘 다

4 - 중간 버튼

wheelDelta - 마우스 휠이 구른 방향

양수 - 위쪽으로 굴림 (120)

음수 - 아래쪽으로 굴림 (-120)

onclick - 마우스 클릭

ondblclick - 마우스 더블 클릭

onmousedown - HTML 태그에 마우스 버튼을 누르는 순간

onmouseup - 눌러진 버튼이 놓여지는 순간

onmouseover - HTML 태그 위로 올라오는 순간 (자식 포함)

onmouseout - HTML 태그 영역 벗어나는 순간 (자식 포함)

onmouseenter - HTML 태그 위로 올라오는 순간 (버블 단계 X)

onmouseleave - HTML 태그 영역 벗어나는 순간 (버블 단계 X)

onwheel - HTML 태그에 마우스 휠이 구르는 동안 호출

oncontextmenu - HTML 태그 위 마우스 오른쪽 버튼 클릭

 

selectedIndex => index는 선택 상태의 옵션 인덱스 0,1,....

selectedIndex =2; // 3번째 옵션 선택

options[2].selected = true; // 3번째 옵션 선택

 

키 이벤트

onkeydown - 키가 눌리는 순간 호출, 모든 키에 대해 작동

onkeyup - 눌러진 키가 떼어지면 호출

onkeypress - 문자 키와 <Enter>, <Space>, <Esc> 키에 대해서만 눌러지는 순간 추가 호출 (문자 키 아니면 호출 X)

 

<input type="text" id="text" onkeydown="whatKeyDown(event)">

function whatKeyDown(e){}

e.altKey를 체크하고 e.altLeft왼쪽 Alt키 else로 오른쪽 alt키

e.shiftKey를 체크하고 e.shiftLeft,...

e.ctrlKey를 체크 e.ctrlLeft

e.keyCode는 나머지 키를 누르면 작동

 

onreset - reset 버튼 클릭시 (<input type="reset"> 클릭 시) - false 리턴하면 폼 초기화 X

onsubmit - submit 버튼 클릭시 (<input type="submit"> 클릭 시 ) - false 리턴하면 폼 전송 X

리스너 작성 - onreset과 onsubmit리스너는 form태그에 달아야 한다.

 

함수 호출

function 이름(매개변수) { return; }

매개변수로 this를 받으면 해당 태그 조작 가능

 

window 객체

- 브라우저 윈도우나 탭 윈도우마다 별도의 window 객체 생성

window 객체 생성

- 3가지 경우

1. 브라우저가 새로운 웹 페이지 로드

2. 자바스크립트 코드로 윈도우 열기 시 window 객체 생성

-> window.open("웹페이지 URL","윈도우 이름", "윈도우 속성");

-> 윈도우 이름 (_blank, _parent, _self, _top, name)

3. iframe 태그 당 하나의 window 객체 생성

- 자바 스크립트 코드로 윈도우 객체에 대한 접근

-> window, 혹은 window.self 혹은 self 

 

window 객체의 타이머 기능 2가지

- 타임아웃 코드 1회 호출 : setTimeout()/clearTimeout()

setTimeout("함수이름",시간)

- 타임아웃 코드 반복 호출 : setInterval()/clearInterval()

 

윈도우 위치 및 크기 조절

window.moveBy(x,y);

window.moveTo(x,y);

window.resizeBy(x,y);

window.resizeTo(x,y);

 

웹 페이지 스크롤

window.scrollBy(x,y);

window.scrollTo(x,y);

 

웹 페이지 프린트

window.print();

-> print 전 onbeforeprint 리스너, 후 onafterprint 리스너 호출

 

location 객체

- URL정보를 나타내는 객체

 

navigator 객체

- 현재 작동 중인 브라우저에 대한 다양한 정보를 나타내는 객체

 

screen

- 브라우저가 실행되는 스크린 장치에 관한 정보를 담고 있는 객체

 

history

- 윈도우에서 방문한 웹 페이지 리스트(히스토리)를 나타내는 객체

'학교수업' 카테고리의 다른 글

가상현실프로그래밍 14주차  (0) 2021.12.09
임베디드 기초 13주차  (0) 2021.12.09
웹개발기초 14주차  (0) 2021.12.04
정보보호개론 13주차  (0) 2021.12.04
가상현실 프로그래밍 13주차  (0) 2021.12.03

+ Recent posts