21.08.24(화)
본격적으로 따라붙기 시동거는중...!
오늘은 회사에서 하고있다...^^.. 이런회사라 정말 다행인걸까.. 불행인걸까...ㅎ...ㅋ...
퇴근전까지 목표치 어떻게든 완료해본다 진짜로....^^....
집에서 하기 너무싫어.. 일찍자고싶다고 진짜 ㅠㅠ.....
오늘도 여튼 (강제로)화이팅!
+PM 03:24:38
하.. 작업하던 파일 전부 집에 있어서 지금 이어서 수업 못듣는다..
낼은 진짜 다 가져와야겠다 ㅠ....어쩔수없다.. 낼 이어서해야지...
(+낼 이어서하고 2주차 마무리 후 다시 일기 수정예정..!)
+21.08.26(목)
수요일 조지고 ^^....... (빅크래프트에서 알바를 잔뜩줬다)
어제 하루 통으로 날리고 목요일 겨우와서 오전에 jquery 듣는데 너무 어렵다 ㅠ 하 진짜 머리 빠개질거같아
그런데 이렇게라도 적어놓지 않으면 나는 절대로 이걸 기억하고 사용할 수 없을거라는 강력한 예감이 들기 때문에 ^^
수업 끝나는 대로 바로바로 기록하려고 노력중.
일단 오늘은 2주차 끄트머리까지라도 따라가보는게 목표..! (강제로)화이팅!
+PM03:24:06
퀴즈 코드는... 존나 현기증 나니까...ㅎ...
html 파일 자체보면서 복습하는걸루....ㅠㅎ
* Javascript 복습
Javascript 잠깐 복습 - 짝/홀수에 따라 다른 얼럿 띄우는 onclick 함수 함께 만들어보기
짝/홀수 판단하는 방법
let even = 4;
console.log(even % 2); // 2로 나눈 나머지가 0입니다.
let odd = 5;
console.log(odd % 2); // 2로 나눈 나머지가 1입니다.
짝/홀수 onclick 함수(완성)
<script>
let count = 1;
function hey() {
if (count % 2 == 0) {
alert('짝짝짝👏');
} else {
alert('홀홀홀🎅');
}
count += 1;
}
</script>
* JQuery 시작하기
Query란?
-HTML의 요소들을 조작하는, 편리한 Javascript를 미리 작성해둔 것. 라이브러리!-
Javascript로도 모든 기능(예 - 버튼 글씨 바꾸기 등)을 구현할 수는 있지만,
1) 코드가 복잡하고, 2) 브라우저 간 호환성 문제도 고려해야해서, jQuery라는 라이브러리가 등장하게 되었답니다.
-jQuery와 Javascript - 코드 비교해보기-
Javascript로 길고 복잡하게 써야 하는 것을
document.getElementById("element").style.display = "none";
jQuery로 보다 직관적으로 쓸 수 있어요. 편리하죠? :-)
$('#element').hide();
*jQuery는 Javascript와 다른 특별한 소프트웨어가 아니라 미리 작성된 Javascript 코드입니다.
전문 개발자들이 짜둔 코드를 잘 가져와서 사용하는 것임을 기억해주세요! (그렇게 때문에, 쓰기 전에 "임포트"를 해야합니다!)
<head>와</head>사이에 스크립트 넣으면 끝
<링크>
https://www.w3schools.com/jquery/jquery_get_started.asp
jQuery Get Started
jQuery Get Started Adding jQuery to Your Web Pages There are several ways to start using jQuery on your web site. You can: Download the jQuery library from jQuery.com Include jQuery from a CDN, like Google Downloading jQuery There are two versions of jQuer
www.w3schools.com
* JQuery 다뤄보기
1) input 박스의 값을 가져와보기
- <div class="posting-box">
- <div class="form-group">
- <label for="exampleInputEmail1">아티클 URL</label>
- <input id="post-url" type="email" class="form-control" aria-describedby="emailHelp" placeholder=""> </div>
- <div class="form-group">
- <label for="exampleInputPassword1">간단 코멘트</label>
- <input type="password" class="form-control" placeholder="">
- </div>
- <button type="submit" class="btn btn-primary">기사 저장</button>
- </div>
- // 크롬 개발자도구 콘솔창에서 쳐보기
- // id 값이 post-url인 곳을 가리키고, val()로 값을 가져온다.
- $('#post-url').val();
2) div 보이기 / 숨기기
<div class="posting-box" id="post-box">
<div class="form-group">
<label for="exampleInputEmail1">아티클 URL</label>
<input id="post-url" type="email" class="form-control" aria-describedby="emailHelp" placeholder="">
</div>
<div class="form-group">
<label for="exampleInputPassword1">간단 코멘트</label>
<input type="password" class="form-control" placeholder="">
</div>
<button type="submit" class="btn btn-primary">기사 저장</button>
</div>
// 크롬 개발자도구 콘솔창에서 쳐보기
// id 값이 post-url인 곳을 가리키고, val()로 값을 가져온다.
$('#post-url').val();
3) css의 값 가져와보기 (우리는 display 속성 값을 가져와 볼게요!)
$('#post-box').hide();
$('#post-box').css('display');
>none
$('#post-box').show();
$('#post-box').css('display');
>block
4) 태그 내 텍스트 입력하기
-input box의 경우
$('#post-url').val('여기에 텍스트를 입력하면!');
->인풋박스 내 텍스트가 '여기에 텍스트를 입력하면!'으로 바뀜
-다른것들_예) 버튼의 텍스트 바꾸기
// 가리키고 싶은 버튼에 id 값을 준다음
<button id="btn-posting-box" type="button" class="btn btn-primary">포스팅 박스 열기</button>
$('#btn-posting-box').text('포스팅 박스 닫기');
->input박스는 val로, button은 text를 사용!
5) 태그 내 html 입력하기
<div> ~ </div> 내에, 동적으로 html을 넣고 싶을 땐? (예를 들어, 포스팅되면 → 카드 추가)
// 사이에 html을 넣고 싶은 태그에 id값을 준 다음
<div id="cards-box" class="card-columns">
<div class="card">
<img class="card-img-top" src="..." alt="card image cap">
<div class="card-body">
<a href="#" class="card-title">여기 기사 제목이 들어가죠</a>
<p class="card-text">여기에 기사 내용이 들어가겠죠</p>
<p class="card-text comment">여기엔 코멘트가 들어갑니다</p>
</div>
</div>
</div>
1. 버튼을 넣어보기 (단, temp_html일땐 let에 백틱..?(backtick) ` <이거 쓰기 (원표시 영타로 친다))
let temp_html = `<button>나는 추가될 버튼이다!</button>`;
$('#cards-box').append(temp_html);
2. 버튼 말고, 카드를 넣어보기
// 주의: 홑따옴표(')가 아닌 backtick(`)으로 감싸야 합니다.
// 숫자 1번 키 왼쪽의 버튼을 누르면 backtick(`)이 입력됩니다.
// backtick을 사용하면 문자 중간에 Javascript 변수를 삽입할 수 있습니다.
let img_url = '...';
let link_url = '...';
let title = '여기에 기사 제목이 들어가죠'
let desc = '기사의 요약 내용이 들어갑니다. ~~~~~';
let comment = '여기에 코멘트가 들어갑니다.';
let temp_html = `<div class="card">
<img class="card-img-top"
src="${img_url}"
alt="Card image cap">
<div class="card-body">
<a href="${link_url}" class="card-title">${title}</a>
<p class="card-text">${desc}</p>
<p class="card-text comment">${comment}</p>
</div>
</div>`;
$('#cards-box').append(temp_html);
* JQuery 적용하기(나홀로메모장)
1) '나홀로메모장'에 포스팅박스 열기 / 닫기 기능(맨위 버튼)을 함께 붙여보기
<script>
function openclose() {
// 여기에 jQuery를 이용해 코드를 짤 예정
}
</script>
// onclick 속성(attribute)을 추가합니다.
<button onclick="openclose()" class="btn btn-primary btn-lg">포스팅박스 열기</button>
2) 클릭 해서 포스팅 박스를 여닫게 하기
1. 포스팅박스에 id값을 주기
<div class="form-post" id="post-box">
<div>
포스팅박스 전체
</div>
</div>
2. 포스팅 박스 제어하기
function openclose() {
// id 값 post-box의 display 값이 block 이면
if ($('#post-box').css('display') == 'block') {
// post-box를 가리고
$('#post-box').hide();
} else {
// 아니면 post-box를 펴라
$('#post-box').show();
}
}
3. posting-box를 시작부터 감춰두기 (css의 display:none 속성!)
이런 것을, inline-style (인라인 스타일) 이라고 부릅니다.
여기저기 쓰면 복잡하겠지만, 이렇게 쓰면 직관적으로 "아 처음부터 안보이는 태그구나!"를 알 수 있겠죠!
(물론, class주고, css에서 display:none 속성을 주는 것도 방법이구요!)
<style>
.posting-box {
display: none;
}
</style>
//일케 포스팅박스 클래스에 css주면 애초에 안보임.
4. 버튼텍스트 바꿔주기
1. 포스팅박스 버튼에 id값 주기
<button id="btn-posting-box" onclick="openclose()" class="btn btn-primary btn-lg">포스팅박스 열기</a>
2. 버튼 텍스트 바꾸도록 자바 함수 값 넣기
function openclose() {
// id 값 post-box의 display 값이 block 이면
if ($('#post-box').css('display') == 'block') {
// post-box를 가리고
$('#post-box').hide();
// 가렸으니까, 버튼내 텍스트를 '열기'로 바꾸기
$('#btn-posting-box').text('포스팅 박스 열기');
} else {
// 아니면 post-box를 펴라
$('#post-box').show();
// 폈으니까, 버튼내 텍스트 '닫기'로 바꾸기
$('#btn-posting-box').text('포스팅 박스 닫기');
}
}