티스토리 뷰
1. clock.js
const clockContainer = document.querySelector(".js-clock"),
clockTitle = clockContainer.querySelector("h1");
function getTime(){
const date = new Date();
const hours = date.getHours();
const minutes = date.getMinutes();
const seconds = date.getSeconds();
clockTitle.innerText = `${
hours < 10 ? `0${hours}` : hours
}:${
minutes < 10 ? `0${minutes}` : minutes
}:${
seconds < 10 ? `0${seconds}` : seconds
}`;
}
function init(){
setInterval(getTime, 1000);
}
init();
setInterval(fn, timeInterval)
: 일정한 시간 간격으로 함수를 실행- 시간은 ms 단위
condition ? expr1 : expr2
(삼항 연산자) : 조건이 true이면 expr1을, false이면 expr2를 반환
2. greeting.js
const form = document.querySelector(".js-form"),
input = form.querySelector("input"),
greeting = document.querySelector(".js-greeting");
const LS_USER = "currentUser",
CN_SHOWING = "showing";
function handleSubmit(event){
event.preventDefault();
const currentValue = input.value;
paintGreeting(currentValue);
localStorage.setItem(LS_USER, currentValue);
}
function askForName(){
form.classList.add(CN_SHOWING);
form.addEventListener("submit", handleSubmit);
}
function paintGreeting(text){
form.classList.remove(CN_SHOWING);
greeting.classList.add(CN_SHOWING);
greeting.innerText = `Hello! ${text}`;
}
function loadName(){
const currentUser = localStorage.getItem(LS_USER);
if(currentUser === null){
askForName();
} else {
paintGreeting(currentUser);
}
}
function init(){
loadName();
}
init();
-
event.preventDefault()
: 현재 이벤트의 기본 동작 중단-
위의 form 태그를 예로 들면, 사용자가 form을 작성 후 엔터를 치게 되면 form 안의 input 값들을 제출하는 동시에
페이지도 리로드한다. 즉, 이벤트와 더불어 기본 동작도 수행하는 것이다. 따라서,
preventDefault()
를 사용하게 되면 submit 이벤트 외의 별도의 브라우저 행동을 막을 수 있다.
-
-
localStorage()
: 사용자 로컬에 데이터를 저장하는 저장소
참고 자료
바닐라 JS로 크롬 앱 만들기
크롬 앱 클론코딩하며, JS 이론 배우기
[초급] HTML, CSS, JS
academy.nomadcoders.co
[JavaScript] JavaScript에서 이벤트 전파를 중단하는 네가지 방법
자바스크립트 이벤트 리스너에서 preventDefault() 와 stopPropagation() 그리고 return false 는 자바스크립트 프로그래밍을 할 때 이벤트 중단을 위해 자주 사용되는 코드들이다. 이벤트 중단 시에 사용되는 방..
programmingsummaries.tistory.com
'JavaScript' 카테고리의 다른 글
[JavaScript] Momentum_02 (0) | 2020.04.19 |
---|---|
[JavaScript] localStorage (0) | 2020.04.18 |
[JavaScript] JavaScript_04 (0) | 2020.04.18 |
[JavaScript] JavaScript_03 (0) | 2020.04.18 |
[JavaScript] JavaScript_02 (0) | 2020.04.18 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 장고
- 파이썬
- Django 컬렉션
- Django
- Django 검색
- Django User
- Django 회원가입
- Django 인스타그램
- Redis Cache
- MySQL
- Django 로그인
- Django 댓글
- python
- query parameter
- Django 북마크
- 서점 어플리케이션
- java
- Django 어플리케이션
- Django 회원 정보 수정
- Django 좋아요
- 북마크 어플리케이션
- Django 비밀번호 수정
- Redis
- Django application
- Django 프로젝트 생성
- Django 로그아웃
- Django Instagram
- Django 팔로우
- Django 해시태그
- Django 업로드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함