프로젝트4 - div 섹션 구역 분리 와 CSS 스타일 적용하기

이미지
웹 브라우저에 표시되는 글자와 이미지 들에 디자인 적인 효과( 배경색, 글자색, 크기 조절...) 및 브라우저 내에서의 배치등을 조절하기 위해서는 구역을 나누면 편리해진다. 바로 구역(섹션) 을 나누어 주는 역할을 하는 태그가 div 이다. <div>태그는 브라우저에서 보여지는 시각적 기능은 없다. 단지, 구역을 나누는 역할을 한다.  코드를 만들어 본다. <!DOCTYPE html> <html> <head>   <title>div</title> </head> <body>   <div>     <p>Ice cream is a frozen dessert typically made from milk or cream that has been flavoured with a sweetener,        either sugar or an alternative, and a spice,        such as cocoa or vanilla, or with fruit, such as strawberries or peaches.</p>   </div>   <div>     <p> Food colouring is sometimes added in addition to stabilizers.        mixture is cooled below the freezing point of water and stirred to incorporate air spaces and prevent detectable ice crystals from forming.        It can also be made by whisking a flavoured cream base and liquid nitrogen together.        The result is a smooth, semi-solid foam that is solid at v

자바스크립트 이벤트 리스너 만들기

HTML 태그에서 이벤트가 발생했을때,
예를 들어 화면에 버튼이 클릭되었을때 어떤 반응을 보여주어야 한다면,
화면 부분은 HTML 요소가 전담하고
자바스크립트는 동작 구현에 집중 한다.

화면에는 버튼이 하나 있고,
그 버튼이 클릭될때 콘솔창에 텍스트를 출력하는 예제를 만들어본다.

<body>
  <button>미사일</button>
  <script>
let missile  = document.querySelector('button');

  const onClickButton = ()=>{
    console.log("미사일 버튼 클릭");
  };
 
   missile.addEventListener('click', onClickButton);
  </script>  
</body>

자바스크립트 코드는
HTML 화면 구성 밑에 존재한다. 화면요소 들을 정상적으로 컨트롤 하기 위함이다.
여기서 중요한 점은 바로, HTML요소에서 올라온 이벤트를 자바스크립트와 연결하는 방법이다.

실제 이벤트를 발생시키는 것은 HMTL 요소 이다. 
여기서는 Button 이 되겠다.

그 이벤트를 받아서 동작시키기 위해서는 "이벤트 리스너" 라는 자바스크립트 단의 구현이 필요하다. "이벤트 리스너" 는 말그대로 특정 이벤트가 발생함을 듣고 있다가, 트레이스 하다가
해당 이벤트가 발생하면 특정 함수를 실행하는 역할을 한다.
여기서 특정 함수는 "콜백 함수" 라고 부른다.

이벤트 리스너를 등록하기전 먼저,
우리는 이벤트가 발생하는 HTML요소에 접근 할수 있어야 한다. 
여러 방법이 있지만 가장 간편한 
document.querySelector() 라는 자바스크립트 함수를 사용한다.
해당 함수의 인자값은 "선택자" 가 들어간다. 여기서는 button 요소 전체를 지칭했다.
body 요소 내부에서 button 요소가 들어간 첫번째 요소를 가져온다

해당 예제에서는 button이 하나밖에 없기때문에
정상적으로 <button>미사일</button> 에 연결이 된다.

let missile  = document.querySelector('button');

다음으로는 이벤트 리스너를 등록한다.
얻어온 태그요소를 받는 자바스크립트 변수.addEventListener()라는 함수를 실행한다.

 missile.addEventListener('click', onClickButton);

인자 값으로는 '이벤트 타입' 과 콜백함수를 지정한다.
버튼이 클릭 되었기에, 이벤트 타입은 'click'으로 지정하고, 콜백함수는 이름만 코딩한다.

마지막으로, 연결된 콜백함수를 구현한다.
콘솔에 로그를 프린트하는 역할 이다.

const onClickButton = ()=>{
    console.log("미사일 버튼 클릭");
  };

브라우저에서 실행해보면, 
미사일 버튼을 누를때마다, 콘솔창에 로그가 정상적으로 찍힘을 확인 할수 있다.

자바스크립트 이벤트 리스너 만들기는 3단계로 정리할 수 있다.
1. HTML요소 얻어오기. XXX = document.querySelector();
2. 이벤트 리스너 만들기. XXX.addEventListener()
3.콜백함수 구현하기.

물론, 콜백함수를 만들기 전에 이벤트리스너에 콜백함수 이름을 기재하면 오류표시가
나올수 있지만,실행 구동되는 원리는 위와 같은 단계를 거친다고 생각하면 된다.

댓글

이 블로그의 인기 게시물

구글 블로그 이미지 복사 붙여넣기 가능한가요?

HTML 페이지 기본 구성.(HTML Page Structure)

구글 블로그 대표이미지 설정하기