ํจ์์ ๋ณ์ ์ง์ ํ๊ธฐ
ํด๋ฆญ ํ์์ ๋ฐ๋ผ ์ง์,ํ์ alert
function hey(){
let count = 1;
if (count % 2 == 0){
alert('์ง์์
๋๋ค.');
}else{
alert('ํ์์
๋๋ค.');
}
count += 1;
}
๊ฒฐ๊ณผ : ๋ช ๋ฒ์ ๋๋ฅด๋ 'ํ์์ ๋๋ค'๋ง ์ถ๋ ฅ๋จ / count ๋ณ์๊ฐ ํจ์ ์์ ์๊ธฐ ๋๋ฌธ์, ๋ง์ง๋ง count += 1์ด ๋๋๋ผ๋, ๋ค์ ์ฒซ์งธ ์ค๋ก ๋์๊ฐ ๋ 1๋ก ์ด๊ธฐํ
let count = 1; //count ๋ณ์๋ฅผ ํจ์์ ๋ฐ์ผ๋ก ๋นผ์ค (์ ์ญ๋ณ์)
function hey(){
if (count % 2 == 0){
alert('์ง์์
๋๋ค.');
}else{
alert('ํ์์
๋๋ค.');
}
count += 1;
}
๊ฒฐ๊ณผ : ํด๋ฆญ์ ๋ฐ๋ผ์ 'ํ์,์ง์'๊ฐ ์ณ๊ฒ ์ถ๋ ฅ๋จ / count๋ณ์๊ฐ ํจ์ ๋ฐ์ผ๋ก ๋น ์ ธ๋๊ฐ์ count += 1; ์ ๋ฐ๋ผ ๊ฐ์ด ๋ณํ ์ ์๊ฒ ๋จ
let temp_html = '๋๋ ์ถ๊ฐ๋ ๋ฒํผ์ด๋ค!';
$('#cards-box').append(temp_html);Javascript ๋ณต์ต๐
ํจ์์ ๋ณ์ ์ง์ ํ๊ธฐ
function hey(){
let count = 1;
if (count % 2 == 0){
alert('์ง์์
๋๋ค.');
}else{
alert('ํ์์
๋๋ค.');
}
count += 1;
}
๊ฒฐ๊ณผ : ๋ช ๋ฒ์ ๋๋ฅด๋ 'ํ์์ ๋๋ค'๋ง ์ถ๋ ฅ๋จ / count ๋ณ์๊ฐ ํจ์ ์์ ์๊ธฐ ๋๋ฌธ์, ๋ง์ง๋ง count += 1์ด ๋๋๋ผ๋, ๋ค์ ์ฒซ์งธ ์ค๋ก ๋์๊ฐ ๋ 1๋ก ์ด๊ธฐํ
let count = 1; //count ๋ณ์๋ฅผ ํจ์์ ๋ฐ์ผ๋ก ๋นผ์ค (์ ์ญ๋ณ์)
function hey(){
if (count % 2 == 0){
alert('์ง์์
๋๋ค.');
}else{
alert('ํ์์
๋๋ค.');
}
count += 1;
}
๊ฒฐ๊ณผ : ํด๋ฆญ์ ๋ฐ๋ผ์ 'ํ์,์ง์'๊ฐ ์ณ๊ฒ ์ถ๋ ฅ๋จ / count๋ณ์๊ฐ ํจ์ ๋ฐ์ผ๋ก ๋น ์ ธ๋๊ฐ์ count += 1; ์ ๋ฐ๋ผ ๊ฐ์ด ๋ณํ ์ ์๊ฒ ๋จ
: HTML์ ์์๋ค์ ์กฐ์ํ๋ ํธ๋ฆฌํ Javascript๋ฅผ ๋ฏธ๋ฆฌ ์์ฑํด๋๊ฒ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ
Javascript๋ก๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ตฌํ์ ๊ฐ๋ฅ
๋ค๋ง ์ฝ๋๊ฐ ๋ณต์กํ๊ณ , ๋ธ๋ผ์ฐ์ ๊ฐ์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ์์
//Javascript
document.getElementById("element").style.display = "none";
//JQuery
$('#element').hide();
JQuery๋ ๋ฏธ๋ฆฌ ์์ฑ๋ Javascript์ฝ๋. ์ฐ๊ธฐ์ ์ ๋ฐ๋์ ์ํฌํธํด์ผํจ
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
$('#article-url').val() //#์๋ฆฌ์๋ input๋ฐ์ค์ id๊ฐ
$('#element').hide(); //#์๋ฆฌ์๋ id๊ฐ
$('#element').show();
$('#post-box').hide();
$('#post-box').css('display');
$('#post-box').show();
$('#post-box').css('display');
$('#post-url').val('์ฌ๊ธฐ์ ํ
์คํธ๋ฅผ ์
๋ ฅํ๋ฉด!');
// ๊ฐ๋ฆฌํค๊ณ ์ถ์ ๋ฒํผ์ id ๊ฐ์ ์ค๋ค์
<button id="btn-posting-box" type="button" class="btn btn-primary">ํฌ์คํ
๋ฐ์ค ์ด๊ธฐ</button>
$('#btn-posting-box').text('ํฌ์คํ
๋ฐ์ค ๋ซ๊ธฐ');
<div id="cards-box" class="card-columns"> //id = "cards-box"๋ฅผ ์ค
<div class="card">
<img class="card-img-top" src="https://www.fodors.com/wp-content/uploads/2018/10/4_UltimateRome_PiazzaNavona-975x650.jpg" alt="Card image cap">
<div class="card-body">
<a href="https://naver.com/" class="card-title">์ฌ๊ธฐ ๊ธฐ์ฌ ์ ๋ชฉ์ด ๋ค์ด๊ฐ์ฃ </a>
<p class="card-text">์ฌ๊ธฐ์ ๊ธฐ์ฌ ๋ด์ฉ์ด ๋ค์ด๊ฐ๊ฒ ์ฃ </p>
<p class="card-text comment">์ฌ๊ธฐ์ ์ฝ๋ฉํธ๊ฐ ๋ค์ด๊ฐ๋๋ค</p>
</div>
</div>
</div>
let temp_html = '<button>๋๋ ์ถ๊ฐ๋ ๋ฒํผ์ด๋ค!</button>'; //temp_html ๋ณ์๋ฅผ ์ง์
$('#cards-box').append(temp_html);
// ์ฃผ์: ํ๋ฐ์ดํ(')๊ฐ ์๋ 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);
<!doctype html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>jQuery ์ฐ์ตํ๊ณ ๊ฐ๊ธฐ!</title>
<!-- JQuery๋ฅผ import ํฉ๋๋ค -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<style type="text/css">
div.question-box {
margin: 10px 0 20px 0;
}
</style>
<script>
function q1() {
let input_text = $('#input-q1').val();
if(input_text == ''){
alert('์
๋ ฅํ์ธ์!!');
}else{
alert(input_text);
}
}
function q2() {
let input_text2 = $('#input-q2').val();
if(input_text2.includes('@')){
alert(input_text2.split('@')[1].split('.')[0]);
}else{
alert('์ด๋ฉ์ผ์ด ์๋๋๋ค.');
}
}
function q3() {
let input_text3 = $('#input-q3').val();
if(input_text3 == '') {
alert('์ด๋ฆ์ ์
๋ ฅํ์ธ์.');
}else{
let temp_html = `<li>${input_text3}</li>`; //๊ผฎ!!!!๋ฐฑํฑ์ผ๋ก ๊ฐ์ธ๊ธฐ!!!!!!!
$('#names-q3').append(temp_html);
}
}
function q3_remove() {
$('#names-q3').empty();
}
</script>
</head>
<body>
<h1>jQuery + Javascript์ ์กฐํฉ์ ์ฐ์ตํ์!</h1>
<div class="question-box">
<h2>1. ๋น์นธ ์ฒดํฌ ํจ์ ๋ง๋ค๊ธฐ</h2>
<h5>1-1. ๋ฒํผ์ ๋๋ ์ ๋ ์
๋ ฅํ ๊ธ์๋ก ์ผ๋ฟ ๋์ฐ๊ธฐ</h5>
<h5>[์์ฑ๋ณธ]1-2. ๋ฒํผ์ ๋๋ ์ ๋ ์นธ์ ์๋ฌด๊ฒ๋ ์์ผ๋ฉด "์
๋ ฅํ์ธ์!" ์ผ๋ฟ ๋์ฐ๊ธฐ</h5>
<input id="input-q1" type="text" /> <button onclick="q1()">ํด๋ฆญ</button>
</div>
<hr />
<div class="question-box">
<h2>2. ์ด๋ฉ์ผ ํ๋ณ ํจ์ ๋ง๋ค๊ธฐ</h2>
<h5>2-1. ๋ฒํผ์ ๋๋ ์ ๋ ์
๋ ฅ๋ฐ์ ์ด๋ฉ์ผ๋ก ์ผ๋ฟ ๋์ฐ๊ธฐ</h5>
<h5>2-2. ์ด๋ฉ์ผ์ด ์๋๋ฉด(@๊ฐ ์์ผ๋ฉด) '์ด๋ฉ์ผ์ด ์๋๋๋ค'๋ผ๋ ์ผ๋ฟ ๋์ฐ๊ธฐ</h5>
<h5>[์์ฑ๋ณธ]2-3. ์ด๋ฉ์ผ ๋๋ฉ์ธ๋ง ์ผ๋ฟ ๋์ฐ๊ธฐ</h5>
<input id="input-q2" type="text" /> <button onclick="q2()">ํด๋ฆญ</button>
</div>
<hr />
<div class="question-box">
<h2>3. HTML ๋ถ์ด๊ธฐ/์ง์ฐ๊ธฐ ์ฐ์ต</h2>
<h5>3-1. ์ด๋ฆ์ ์
๋ ฅํ๋ฉด ์๋ ๋์ค๊ฒ ํ๊ธฐ</h5>
<h5>[์์ฑ๋ณธ]3-2. ๋ค์ง์ฐ๊ธฐ ๋ฒํผ์ ๋ง๋ค๊ธฐ</h5>
<input id="input-q3" type="text" placeholder="์ฌ๊ธฐ์ ์ด๋ฆ์ ์
๋ ฅ" />
<button onclick="q3()">์ด๋ฆ ๋ถ์ด๊ธฐ</button>
<button onclick="q3_remove()">๋ค์ง์ฐ๊ธฐ</button>
<ul id="names-q3">
<li>์ธ์ข
๋์</li>
<li>์๊บฝ์ </li>
</ul>
</div>
</body>
</html>
let temp_html = `<li>${input_text3}</li>`;
- ${input_text3}
๋ถ๋ถ์ ์ฒ์์๋ ์๋ฌด๊ฒ๋ ์๊ฐ์ธ์ ์ค๋ฅ ๋ฐ์- '' ํ๋ฐ์ดํ๋ก ๊ฐ์ธ์ ์ค๋ฅ๋ฐ์. ์ถ๋ ฅ๋จ์ ์ ๋ ฅํ ์ด๋ฆ์ด ์๋ input_text3๊ฐ ์ถ๋ ฅ๋จ
- `` ์ผ๋ก ๊ฐ์ผ ๋ค์์์ผ ์ ๋๋ก ์คํ .... ๋งค์ฐ ์ค์.. ๋ฐฑํฑ... ๐ฆ
์๋ฒ > ํด๋ผ์ด์ธํธ : JSON ์ดํดํ๊ธฐ
JSON
๋์ ๋๋ฆฌ + ๋ฆฌ์คํธ์ ์กฐํฉ๊ณผ ๊ฐ๊ฒ ์๊น!
ex) ๋ฏธ์ธ๋จผ์ง Open API
- for๋ฌธ์ ์ฌ์ฉํ๋ ์ ํ์ ์ธํํ!
GET : ๋ฐ์ดํฐ ์กฐํ(Read)๋ฅผ ์์ฒญํ ๋
ex) ์ํ ๋ชฉ๋ก ์กฐํ
https://movie.naver.com/movie/bi/mi/basic.nhn?code=161967
- ์๋ฒ์ฃผ์ : https://movie.naver.com/movie/bi/mi/basic.nhn
- ์ํ์ ๋ณด : code=161967
โ?๋ฅผ ๊ธฐ์ ์ผ๋ก ๋ค๋ ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ๊ณ ์ค๋ ์ ๋ณด
POST : ๋ฐ์ดํฐ ์์ฑ(Create), ๋ณ๊ฒฝ(Update), ์ญ์ (Delete)๋ฅผ ์์ฒญํ ๋
ex) ํ์๊ฐ์ , ํ์ํํด, ๋น๋ฐ๋ฒํธ ์์
๐ปAjax๋ JQuery๋ฅผ ์ํฌํธํ ํ์ด์ง์์๋ง ์๋!!!๐ป
$.ajax({
type: "GET", // ํ์
์ get
url: "์ฌ๊ธฐ์URL์์
๋ ฅ", // resopnse๋ฅผ ๋ฐ์์ฌ url
data: {},
success: function(response){
console.log(response)
}
})
<!doctype html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>JQuery ์ฐ์ตํ๊ณ ๊ฐ๊ธฐ!</title>
<!-- JQuery๋ฅผ import ํฉ๋๋ค -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<style type="text/css">
div.question-box {
margin: 10px 0 20px 0;
}
table {
border: 1px solid;
border-collapse: collapse;
}
td,
th {
padding: 10px;
border: 1px solid;
}
.lack{
color: red;
}
</style>
<script>
function q1() {
$.ajax({
type: "GET",
url: "http://spartacodingclub.shop/sparta_api/seoulbike", // resopnse๋ฅผ ๋ฐ์์ฌ url
data: {},
success: function (response) {
let rows = response['getStationList']['row'];
for (let i = 0; i < rows.length; i++) {
let st_name = rows[i]['stationName'];
let rack = rows[i]['rackTotCnt'];
let parking_bike = rows[i]['parkingBikeTotCnt'];
let text_html = ""
if (rack < 5) {
text_html = `<tr class="lack"><td>${st_name}</td>
<td>${rack}</td>
<td>${parking_bike}</td></tr>`
} else {
text_html = `<tr><td>${st_name}</td>
<td>${rack}</td>
<td>${parking_bike}</td></tr>`
}
$('#names-q1').append(text_html);
}
}
})
}
</script>
</head>
<body>
<h1>jQuery + Ajax์ ์กฐํฉ์ ์ฐ์ตํ์!</h1>
<hr/>
<div class="question-box">
<h2>2. ์์ธ์ OpenAPI(์ค์๊ฐ ๋ฐ๋ฆ๊ธฐ ํํฉ)๋ฅผ ์ด์ฉํ๊ธฐ</h2>
<p>๋ชจ๋ ์์น์ ๋ฐ๋ฆ์ด ํํฉ์ ๋ณด์ฌ์ฃผ์ธ์</p>
<p>์
๋ฐ์ดํธ ๋ฒํผ์ ๋๋ฅผ ๋๋ง๋ค ์ง์ ๋ค ์๋ก ์์ฌ์ ธ์ผ ํฉ๋๋ค.</p>
<button onclick="q1()">์
๋ฐ์ดํธ</button>
<table>
<thead>
<tr>
<td>๊ฑฐ์น๋ ์์น</td>
<td>๊ฑฐ์น๋ ์</td>
<td>ํ์ฌ ๊ฑฐ์น๋ ๋ฐ๋ฆ์ด ์</td>
</tr>
</thead>
<tbody id="names-q1">
</tbody>
</table>
</div>
</body>
</html>
<!doctype html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>JQuery ์ฐ์ตํ๊ณ ๊ฐ๊ธฐ!</title>
<!-- JQuery๋ฅผ import ํฉ๋๋ค -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<style type="text/css">
div.question-box {
margin: 10px 0 20px 0;
}
div.question-box > div {
margin-top: 30px;
}
</style>
<script>
function q1() {
$.ajax({
type: "GET",
url: "https://api.thedogapi.com/v1/images/search",
data: {},
success: function (response) {
let imgSrc = response[0]['url'];
$("#img-dog").attr("src", imgSrc);
}
})
}
</script>
</head>
<body>
<h1>JQuery+Ajax์ ์กฐํฉ์ ์ฐ์ตํ์!</h1>
<hr/>
<div class="question-box">
<h2>3. ๋๋ค ๊ณ ์์ด ์ฌ์ง API๋ฅผ ์ด์ฉํ๊ธฐ</h2>
<p>์์ ๊ณ ์์ด ์ฌ์ง์ ๋ณด์ฌ์ฃผ์ธ์</p>
<p>์
๋ฐ์ดํธ ๋ฒํผ์ ๋๋ฅผ ๋๋ง๋ค ์ง์ ๋ค ์๋ก ์์ฌ์ ธ์ผ ํฉ๋๋ค.</p>
<button onclick="q1()">๊ฐ์์ง๋ฅผ ๋ณด์</button>
<div>
<img id="img-dog" src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png"/>
</div>
</div>
</body>
</html>
โ Poin1tโ
<script> function q1() { $.ajax({ type: "GET", url: "https://api.thedogapi.com/v1/images/search", data: {}, success: function (response) { let imgSrc = response[0]['url']; <!-- ๋ฆฌ์คํธ์ค 0๋ฒ์งธ์, url! --> $("#img-dog").attr("src", imgSrc); } }) } </script>
: API ์ฃผ์ ์์ฒด์์ JSON์ด ์ฒ์๋ถํฐ ๋ฆฌ์คํธ ํ์์ผ๋ก ๋ค์ด์ ์์ / ์ํ๋ url ์ฃผ์๋ฅผ ์ป์ ํํ์ ๊ธฐ์ต!
โ Poin1tโ
<img id="id_img">
์์ด๋ ํ๊ทธ์ ๋ฐ๋ฅธ ์ด๋ฏธ์ง src๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ
$("#id_img").attr("src", "์ด๋ฏธ์ง ๊ฒฝ๋ก");