32.자바스크립트 실습(https://opentutorials.org/course/1688/9381) -12/31
1.JS 실습1
*방법론적인 것은 점점 더 배워야함: "이런것이다"라는 것을 이해하기 위해서 하는것
-javascipt에 1.html 폴더
*input tag: 사용자가 정보를 입력할 수 있는 장치,
-type 속성으로 뭘 주느냐에 따라서 input하는 방법이 다르다: checkbox, text, button 등...
-value: 값이 white가 되는 것
*script
-alert: 알림 창이 뜨게 하는 것. 경고 창이 뜨게 하는 것
*자바스크립트의 이벤트 프로그래밍: script 태그 안쪽에 존재훌 수 있지만, html 태그 안쪽에 존재해도 괜찮다.
-input 태그 안에 onclick이라는 속성을 주고, alert을 쓰면 -> white 버튼을 눌렀을 때 (onclick) javascript 코드를 실행
-이벤트: 버튼을 사용자가 '클릭'하는 것과 같은, 스크롤/마우스를 움직이는 것 등이 모두 '사건', 이 사건에 맞는 프로그래밍이 이벤트 프로그래밍
-onfocus, onblur, onclick 등은 javascript 코드를 값으로 취한다; 사용자가 특정 행동 실행시(이벤트) js코드를 실행
2.JS실습2
-1.html 이어서
*input type="text"에 입력한 값을 경고 창으로 뜨게 만들기
-onclick="alert('id값이 user_input인 태그값')"; 이 나오게 해야함.
-getElementById('user_input') ; 함수임. 이 함수가 시행된 결과가 위의 text 값이 지정,
위의 함수는 document.라는 함수 그룹에 속해있음 (API를 구분하기 쉽게 모아놓음) -> document.getElementById('user_inpput')
-white 버튼을 누르면 아래 정보가 표시
-text에서 입력한 값: value로 알 수 있음 -> document.getElementById('user_inpput').value
-> white 버튼을 누르면 onclick이 실행 -> alert에 document.getElementById 가 시행: user_input.value(값) 을 가져온다 라는 뜻
3.JS실습3- localhost/javascript/2.html
*CSS 복습
<style> </style> 사이에 쓰면 됨. 원하는 tag를 입력하고 {} 안에 입력,
*class
-html과 최수원만 밑줄을 긋고싶다? -> 그룹핑을 하면 됨: class="em", -> style 내에 .으로 사용(class),,
-class: 같은 tag에만 지정할 필요는 없다.
*em이라는 효과를 ol에만 주고싶다; id를 통해서 (em은 style상에 .em에 적용 -> 클래스 네임을 주면 됨)
<input type="button" value="강조" onclick="document.getElementById('target').className='em'" />
-> '강조' 버튼을 누르면 document.getElementById를 통해 id가 target인 값(ol tag)을 선택하여 class 이름을 em을 부여
-> 이후 부여된 em 클래스 값이 위의 style의 text-decoration이 적용
즉, clasee="em" 값을 javascript로 추가 : JS는 html을 제어하는 언어라고 할수있다.
4.JS실습 4: 화면의 오른쪽 버튼을 누르면 배경이 흰색/검은색으로 바뀌는 기능 구현
-localhost/page_vc.html에 만들어서 다른 화면에도 적용할것
*<nav> 와 <article> 사이에 버튼에 해당하는 tag를 넣자.
1)<input type="button" value="white" /> ; black까지 2개를 생성
2)위치를 오른쪽으로 옮기고 싶다: 그룹핑을 한 후에 위치 옮기기: 임의의 tag를 만들어서 두개를 묶자
-> 이때 사용하는 것이 <div> : css적인 뭔가를 주기 위해서 사용
-> div: 아무런 특징이 없다는 특징- 특정한 기능이 없이 태그를 묶어주는 태그! 아하~ 묶어서 css 효과 주기, 여기서는 id값을 control로
3)css 파일에 #control을 오른쪽으로 옮기는 기능 넣기
#문제; 수정된 css, js 파일이 적용이 안될 때 :해결
4) 버튼을 클릭 했을 때 웹사이트의 색상을 바꾸기
-css 파일에서 body 컬러를 바꿔주기:
body.white{
background-color: white;
color: black;
}
body.black{
background-color: black;
color: white;
}
-> black을 클릭하면 아래, white를 클릭하면 아래로 가게 하고싶다. 어떻게? class를 줘서
-> 이제 body의 class 값에 따라서 (black/white) 배경 색이 바뀌게 된다
-> 이제 input 버튼의 onclick에 js 코드를 활용해서 body의 class값을 주면 된다.
-> body의 id 값을 주고 input 태그에 onclick 속성에 onclick="document.getElementById('body').className='white'" 를 주면 된다
5) page_vc.html 이외의 다른 모든 page에도 적용시키
5.JS실습 5 -> 들어도 되고 안들어도 된다?: script.js 파일로 적용시키기~
*기능은 구현 완료, 하지만 좋은 코드는 아니다? html이 비대해지기 때문에...
-> body 밑에 <script>를 추가. js 이벤트가 등장(click이라는 사건)했을 때 반응하도록,
-> 모든 페이지에 붙여넣기: 중복의 악취 ㅋㅋㅋㅋ 이를 css처럼 js 파일을 별도의 파일로 분리시키기 (script.js 파일을 만들어서 거기에 넣기)
-<script src="http://localhost/script.js"></script> 로 적용해서 다른 파일에도 적용
*수업 정리
HTML: 정보, CSS: 디자인, Javascript: 제어
6. JS 활용(disqus, tawk): 다른 회사에서 만든 기능을 통해서 내 서비스에 붙이는 방법론: 댓글기능 + 채팅기능
-댓글을 달면 이메일로 보내고, 이를 답변하면 다시 댓글로 달아주는 기능
-방문한 사람과의 채팅 기능: 채팅을 보냈을 때 방문자에게 응답할 수 있는 화면
-> 이를 몇줄의 코드만으로 구현하기!
*댓글기능: disqus로 진행 (한국에 livere라는 서비스도 있다)
-disqus 가입 후 코드를 article에 입력, 이것만으로 코드
-각각의 코드에 붙이면 된다!
*채팅기능: tawk.to -> 이 기능을 통해서 웹으로 편하게 대화할 수 있는 사이트를 운영 가능 (카톡같은 프로그램 외에도...)
-가입 후 </body> 위에 붙이기
-여러 사람이 응대하는 것도 제공하는 강력한 기능
-> 주목: 코딩을 하는 이유가 무엇인가!
제목과 같은 작은 기능부터 댓글, 채팅 시스템과 같은 거대한 기능까지 구현하는 것이 코드의 힘이다!!!
'etc > 생활코딩-웹프로그래밍' 카테고리의 다른 글
07 데이터베이스 이론 (MySQL 기본적인 이론), 생활코딩 (0) | 2017.01.01 |
---|---|
06 PHP 실습- php를 사용하여 html 문서의 정보 분리하기 (0) | 2016.12.31 |
04 UI와 API, 프로그래밍을 어떻게 접근할 것인가? (0) | 2016.12.31 |
03_2 javascript, php를 활용한 로그인 기능, 반복문, 배열, 함수 (0) | 2016.12.31 |
03_1JavaScript & PHP 기초- html에 js, php 삽입하기 (0) | 2016.12.31 |