일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 비주얼스튜디오 코드
- 맥 아파치
- 닐 스미스 지음
- 배열 분해 할당
- 한글입력 잘림
- python GUI 사용하기
- max apache
- 자바스크립트
- 한글입력 안됨
- 자바스크립트 class
- 블록 스코프
- 객체지향
- max MySQL
- 한글잘림
- python tkinter 인터페이스
- 기획자랑 사이좋게 지내고 싶다
- 제이펍 출판
- 한글입력 오류
- 황반석 옮김
- 핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍
- 맥 mysql
- 자바스크립트 객체 만들기
- 객체
- jquery 사용하기
- 자바스크립트 객체
- 제이쿼리연결
- SwiftUI 기반의 iOS 프로그래밍
- 생활코딩
- 한글입력 씹힘
- 자바스크립트 배열 할당
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 비주얼스튜디오 코드
- 맥 아파치
- 닐 스미스 지음
- 배열 분해 할당
- 한글입력 잘림
- python GUI 사용하기
- max apache
- 자바스크립트
- 한글입력 안됨
- 자바스크립트 class
- 블록 스코프
- 객체지향
- max MySQL
- 한글잘림
- python tkinter 인터페이스
- 기획자랑 사이좋게 지내고 싶다
- 제이펍 출판
- 한글입력 오류
- 황반석 옮김
- 핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍
- 맥 mysql
- 자바스크립트 객체 만들기
- 객체
- jquery 사용하기
- 자바스크립트 객체
- 제이쿼리연결
- SwiftUI 기반의 iOS 프로그래밍
- 생활코딩
- 한글입력 씹힘
- 자바스크립트 배열 할당
- Today
- Total
java,javascript,android,php,sql,공부용,메모용
javascript 문서로딩 load 이벤트 실행, html 아이디 클래스 선택 addEventListener / querySelector & getElementById / LastModified / 현재시간 본문
javascript 문서로딩 load 이벤트 실행, html 아이디 클래스 선택 addEventListener / querySelector & getElementById / LastModified / 현재시간
yy_dd2 2021. 3. 10. 18:16이런 화면이 하나있다
그리고 색상버튼이 있고 클릭하면 이벤트가 실행되도록했다.
여기서는 지금껏 복습한거와 다르게 button에 onclick="" 속성이 없고
javascript에서 찾아오도록했다.
코드 확인전에 먼저 확인하기
- window.addEventListener('load', function (){})
- window.addEventListener('DOMContentLoaded', function(){})
- 문서로딩
문서는 위에서 아래로 읽어나간다.
현재 우리는 html >head > title > style > script >body 순서로 작성했다.
- 문제점
body를 먼저 읽지않고 script가 실행된다면
body 안에 있는 div나 다른 태그들은 만들어지지 않은 상태로
자바스크립트에서 불러오기 때문에 오류가난다.
- 해결
1. 자바스크립트의 스크립트를 맨아래 </html>전으로 옮긴다 (예전에 스크립트는 맨아래 있는걸 많이봤다)
2. 자바스크립트 시작할때 처음에
window.addEventListener('load', function (){}) 를 사용한다
이 부분은 브라우저가 문서를 다 읽고 난 후에 호출을 하라는 것이다
( *load 이벤트는 문서내의 모든 리소스(이미지, 스크립트)의 다운로드가 끝난 후에 실행된다. 이것을 에플리케이션의 구동이 너무 지연되는 부작용을 초래할 수 있다.)
3. 자바스크립트 시작할때 처음에
window.addEventListener('DOMContentLoaded', function(){}) 를 사용한다
DOMContentLoaded는 문서에서 스크립트 작업을 할 수 있을 때 실행되기 때문에
이미지 다운로드를 기다릴 필요가 없다.
DOMContentLoaded 이벤트는 IE9을 포함한 모든 브라우저에서 지원하고 있다.
querySelector : CSS 선택자 구문으로 DOM 객체 검색 (선택자를 찾아서 저장)
button.addEventListener("click", function(){ }); : 이벤트 연결
document.lastModified :문서가 마지막으로 수정된 시간 나타내기
lastModified 를 Date 객체 로 변환 var oLastModif = new Date(document.lastModified);
var oLastModif = new Date(document.lastModified);
alert(lastModified);
// returns: Wed Mar 10 2021 18:10:19 GMT+0900 (대한민국 표준시)
lastModified 를 1970 년 1 월 1 일 00:00:00 (현지 시간) 이후 밀리 초로 변환
var nLastModif = Date.parse(document.lastModified);
alert(nLastModif);
// returns : 1615367581000
<!DOCTYPE html>
<html>
<head>
<title>타이틀~~~</title>
<style type="text/css">
button {
width: 150px;
height: 50px;
}
#canvas {
border: 1px solid;
height: 300px;
}
</style>
<script type="text/javascript">
// window.onload = function(){} 은 브라우저가 문서를 다 읽은 후에 호출하라는 것
window.addEventListener('load', function(){
// querySelector : CSS 선택자 구문으로 DOM 객체 검색 (선택자를 찾아서 저장)
var button = document.querySelector('button');
// 이벤트 연결 : button.onclick = function(){}
// addEventListener 공식권장사항
button.addEventListener("click", function(){
// 이전에는 getElementById를 사용했던 기억이 있다
// var div = document.getElementById("canvas");
var div = document.querySelector("#canvas");
var r = Math.floor(Math.random() * 256);
var g = Math.floor(Math.random() * 256);
var b = Math.floor(Math.random() * 256);
div.style.backgroundColor = `rgb(${r}, ${g}, ${b})`;
// lastModified 를 Date 객체 로 변환
var oLastModif = new Date(document.lastModified);
// lastModified 를 1970 년 1 월 1 일 00:00:00 (현지 시간) 이후 밀리 초로 변환
var nLastModif = Date.parse(document.lastModified);
div.innerHTML =
`<h1>URL : ${document.URL}<br>`+
`LAST MODIFIED : ${document.lastModified}<br>`+
`MODIFIED DATA : ${oLastModif}<br>`+
`MODIFIED DATA 밀리초로 변환 : ${nLastModif}<br>`+
`TITLE : ${document.title}`+
`</h1>`;
});
});
</script>
</head>
<body>
<button>색상 변경</button>
<hr>
<div id="canvas"></div>
</body>
</html>
'javascript, jQuery & Node.js' 카테고리의 다른 글
jQuery 복습~ (0) | 2021.10.20 |
---|---|
자바스크립트 객체만들기 보여주기 반복문 사용해서 보여주기 (0) | 2021.10.14 |
javascript 간단한 event / 버튼클릭 마우스오버 alert / 클릭하면 random값 / 자바스크립트로 style 변경하기 (0) | 2021.03.10 |
javascript / 사용자 입력받기, 내용 출력하기, 선택하기 / document.wriet(), alert(), confirm(), prompt() (0) | 2021.03.04 |
javascript 계산법, 연산자 (0) | 2021.03.04 |