💡 count += 1; 👉🏻 count = count + 1
function hey() {
let count = 1;
if (count % 2 == 0) {
alert('짝수');
} else {
alert('홀수');
}
count += 1;
// 이렇게 하면 count 사라짐.
}
👇🏻
let count = 1;
function hey() {
if (count % 2 == 0) {
alert('짝수');
} else {
alert('홀수');
}
count += 1;
}
jQuery는 미리 작성된 Javascript 코드
꼭 쓰기 전에 "임포트"를 해야합니다.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
이걸 꼭 써서 import 해야한다.
1️⃣ input 박스의 값을 가져와보기!
input 박스에 id 값 지정하고, val()로 값을 가져온다. 👉🏻 $('#id 값').val();
여기서 val('장영실') 이렇게 입력하면 input 박스 값은 장영실로 바뀐다.
2️⃣ div 보이기/숨기기
// id 값이 post-box인 곳을 가리키고, hide()로 안보이게 한다.(=css의 display 값을 none으로 바꾼다)
$('#post-box').hide();
// show()로 보이게 한다.(=css의 display 값을 block으로 바꾼다)
$('#post-box').show();
3️⃣ css의 값 가져와보기
$('#post-box').hide();
$('#post-box').css('display');
//none
$('#post-box').show();
$('#post-box').css('display');
//block
4️⃣ 태그 내 태그 입력하기
ex) 버튼의 텍스트 바꾸기
$('#btn-posting-box').text('포스팅 박스 닫기');
// 포스팅 열기 --> 포스팅 박스 닫기 로 바뀜..
5️⃣ 태그 내 html 입력하기
div내에, 동적으로 html을 넣고 싶을 땐? (예를 들어, 포스팅되면 → 카드 추가)
// 주의: 홑따옴표(')가 아닌 backtick(`)으로 감싸야 합니다.
// 숫자 1번 키 왼쪽의 버튼을 누르면 backtick(`)이 입력됩니다.
// backtick을 사용하면 문자 중간에 Javascript 변수를 삽입할 수 있습니다.
let img_url = 'https://www.eurail.com/content/dam/images/eurail/Italy%20OCP%20Promo%20Block.adaptive.767.1535627244182.jpg';
let link_url = 'https://naver.com/';
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);
포스팅 박스 열기 닫기 구현
function openclose() {
let status = $('#post-box').css('display');
if (status == 'block') {
$('#post-box').hide();
$('#btn-posting-box').text('포스팅박스 열기');
} else {
$('#post-box').show();
$('#btn-posting-box').text('포스팅박스 닫기');
}
}
/* 처음부터 포스팅 박스 안보이기 위해서 */
.posting-box {
display: none;
}
퀴즈 풀기
JSONView 설치
API는 (Application Programming Interface 약자)서버가 요청을 받기 위해 뚫어놓은 창구 이다. 강의에서는 은행창구와 같은 것이라고 얘기해 주셨다. 은행에서 우리가 무엇을 하고 싶은지 창구의 직원에게 말하면 이것저것 처리를 해서 결과를 준다.
여기서 창구 뒷쪽이 서버인거고, 우리쪽은 클라이언트이며 창구 뒷쪽에서 바삐 움직이시는 분들이 API이고 창구에 쌓인 자료들이나 정보들이 DB와 거기에 쌓인 정보들이다.
https://movie.naver.com/movie/bi/mi/basic.nhn?code=161967
위 주소는 크게 두 부분으로 쪼개집니다. 바로 "?"가 쪼개지는 지점인데요.
"?" 기준으로 앞부분이 <서버 주소>, 뒷부분이 [영화 번호] 입니다.
서버 주소: https://movie.naver.com/movie/bi/mi/basic.nhn
영화 정보: code=161967
Ajax는 jQuery를 임포트란 페이지에서만 동작 가능합니다.
🌟 기본 골격 🌟
$.ajax({
type: "GET", // GET 방식으로 요청한다.
url: "http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99",
data: {}, // 요청하면서 함께 줄 데이터 (GET 요청시엔 비워두세요)
success: function(response){ // 서버에서 준 결과를 response라는 변수에 담음
console.log(response) // 서버에서 준 결과를 이용해서 나머지 코드를 작성
}
})
💡 코드 설명
미세먼지
function q1() {
$('#names-q1').empty() //버튼 클릭할때 지우고 다시 업데이트해주기
$.ajax({
type: "GET", // GET 방식으로 요청한다.
url: "http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99",
data: {}, // 요청하면서 함께 줄 데이터 (GET 요청시엔 비워두세요)
success: function(response){ // 서버에서 준 결과를 response라는 변수에 담음
let rows = response["RealtimeCityAir"]["row"] // 일단 RealtimeCityAir의 row를 불러온다.
for (let i = 0; i < rows.length; i++) { //반복문 돌리기
let gu_name = rows[i]['MSRSTE_NM'];
let gu_mise = rows[i]['IDEX_MVL'];
let temp_html =
if (gu_mise > 60) {
temp_html = `<li class="bad">${gu_name} : ${gu_mise}</li>`
} else {
temp_html = `<li>${gu_name} : ${gu_mise}</li>`
}
$('#names-q1').append(temp_html);
}
}
})
}
☝🏻 만약 미세먼지가 60이상인 곳만 빨갛게 하고 싶다면 if문을 쓰고 temp_html에다가 class를 달아준다.
따릉이 거치대 수를 이용한 퀴즈~
jQuery를 이용한 src 변경하기
function q1() {
$('#names-q1').empty();
$.ajax({
type: "GET", // GET 방식으로 요청한다.
url: "https://api.thecatapi.com/v1/images/search",
data: {},
success: function(response){ // 서버에서 준 결과를 response라는 변수에 담음
let imgurl = response[0]['url']
$('#img-cat').attr("src", imgurl)
}
})
}
💡 $("img id 값").attr("src",imgurl);