์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Absolute
- AGI
- ai
- AI agents
- AI engineer
- AI researcher
- ajax
- algorithm
- Algorithms
- aliases
- Array ๊ฐ์ฒด
- ASI
- bayes' theorem
- Bit
- Blur
- BOM
- bootstrap
- canva
- challenges
- ChatGPT
- Today
- In Total
A Joyful AI Research Journey๐ณ๐
[19] 230125 Ch. 12 jQUERY, Ajax, JSON: 1. jQuery, 2. ์ฒซ ๋ฒ์งธ jQuery ํ๋ก๊ทธ๋จ, 3. jQuery ๋ฌธ์ฅ์ ๊ตฌ์กฐ, 4. jQuery๋ฅผ ์ด์ฉํ ์ด๋ฒคํธ ์ฒ๋ฆฌ · 5. ์ ๋๋ฉ์ด์ ํจ๊ณผ [K-๋์งํธ ํธ๋ ์ด๋ 19์ผ] ๋ณธ๋ฌธ
[19] 230125 Ch. 12 jQUERY, Ajax, JSON: 1. jQuery, 2. ์ฒซ ๋ฒ์งธ jQuery ํ๋ก๊ทธ๋จ, 3. jQuery ๋ฌธ์ฅ์ ๊ตฌ์กฐ, 4. jQuery๋ฅผ ์ด์ฉํ ์ด๋ฒคํธ ์ฒ๋ฆฌ · 5. ์ ๋๋ฉ์ด์ ํจ๊ณผ [K-๋์งํธ ํธ๋ ์ด๋ 19์ผ]
yjyuwisely 2023. 1. 25. 12:50230125 Wed 19th class
Ch. 12 jQUERY, Ajax, JSON
์ง๋: p. 452 ~ (๊ต์ฌ: HTML5 + CSS3 + JavaScript๋ก ๋ฐฐ์ฐ๋ ์นํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ด, ์ ์: ์ฒ์ธ๊ตญ)
์ค๋ ๋ฐฐ์ด ๊ฒ ์ค ๊ธฐ์ตํ ๊ฒ์ ์ ๋ฆฌํ๋ค.
์ง๋ ์์ ๋ ๋ฐฐ์ด ๊ฒ ์ค ๋ค์ ๊ธฐ์ตํ ๊ฒ
display: none; is commonly used with JavaScript to hide and show elements without deleting and recreating them. The <script> element uses display: none; as default.
2023.01.05 - [1. Revision 2023/CSS3] - *[7] 230105 Ch. 6 CSS ๋ ์ด์์๊ณผ ์ ๋๋ฉ์ด์ (1): ๋ ์ด์์์ ๊ธฐ์ด, ์์ ์์น ์ ํ๊ธฐ, (์์) · ์๋ฏธ์ ์์๋ฅผ ์ด์ฉํ ๋ ์ด์์, ํจ๊ณผ, CSS3 ๋ณํ · 3์ฐจ์ ๋ณํ · ์ ๋๋ฉ์ด์
์ฐธ๊ณ p. 196
display:block /*๋ธ๋ก(block)*/
display:inline /*์ธ๋ผ์ธ(inline)*/
display:none /*์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋จ*/
display:hidden /*ํ๋ฉด์์ ๊ฐ์ถฐ์ง*/
display: none: ๋ฌธ์์ ํ๋ฆ์์ ํด๋น ์์๋ฅผ ์์ ํ ๋ฐฐ์ ํ๊ณ ์ ํ ๋ ์ฌ์ฉ๋๋ค.
display: hidden: ๋ฌธ์์ ํ๋ฆ์์ ์์๊ฐ ์ ๊ฑฐ๋์ง ์์ง๋ง ๋ณด์ด์ง๋ ์๋ ์ํ์ด๋ค.
์ฐธ๊ณ ํ๊ธฐ: https://www.w3schools.com/css/css_display_visibility.asp
Ch. 12 jQUERY, Ajax, JSON
์ฑ ์ ๋ชฉ์ฐจ
-jQuery
-์ฒซ ๋ฒ์งธ jQuery ํ๋ก๊ทธ๋จ
-jQuery ๋ฌธ์ฅ์ ๊ตฌ์กฐ
-jQuery๋ฅผ ์ด์ฉํ ์ด๋ฒคํธ ์ฒ๋ฆฌ
-jQuery๋ฅผ ์ด์ฉํ ์ ๋๋ฉ์ด์ ํจ๊ณผ
-jQuery๋ฅผ ์ด์ฉํ DOM ๋ณ๊ฒฝ
-jQuery๋ฅผ ์ด์ฉํ CSS ์กฐ์
-Ajax ๊ฐ์
-jQuery๋ฅผ ์ด์ฉํ์ฌ Ajax ์ฌ์ฉํ๊ธฐ
-JSON
1. jQuery p. 452
์ผ์ข
์ ์๋ฐ ์คํฌ๋ฆฝํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
jQuery๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ฐ ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋๋ฐ ์์ ์๋นํ ์ค์ผ ์ ์๋ค.
๋ฐฐ์ฐ๊ธฐ ์ฝ๋ค.
๋ฌด๋ฃ์ด๋ค. ์ค์น ๊ณผ์ ๋ ํ์ ์์ด ๊ทธ๋ฅ ํ ์ค๋ง ์์ค์ ์ถ๊ฐํ๋ฉด ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ | jQuery |
id๊ฐ myPara์ธ ์์๋ฅผ ์ฐพ์์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๋ค. |
|
document.getElementsById("myPara").innerHTML = "์๋ ํ์ธ์?" | $("#myPara").html("์๋ ํ์ธ์?") |
1.1 jQuery ์ฌ์ฉ ๋ฐฉ๋ฒ
๋ ์ค ํ๋๋ฅผ ์ ํํ๋ค.
1) jQuery์์ jQuery ํ์ผ์ ๋ค์ดํ๋ ๋ฐฉ๋ฒ
http://www.jquery.com์์ ๋ค์ด๋ก๋
ํฌ๋กฌ์ ๊ฒฝ์ฐ ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก ์ ์ฅ์ผ๋ก ๋ค์ด๋ฐ๋๋ค.
๋ค์ด๋ก๋ ๋ฒ์ ์๋ 2๊ฐ์ง๊ฐ ์กด์ฌํ๋๋ฐ compressed(์์ถ) ๋ฒ์ ๊ณผ uncompressed ๋ฒ์ ์ด ์๋ค.
compressed ๋ฒ์ ์ ๊ณต๋ฐฑ์ด ๋ชจ๋ ์ ๊ฑฐ๋ ๋ฒ์ ์ด๋ฉฐ uncompressed ๋ฒ์ ์ ๊ณต๋ฐฑ์ด ์ ์ง๋์ด ์๋ ๋ฒ์ ์ด๋ค.
๋ฐ๋ผ์ uncompressed ๋ฒ์ ์ ์ฉ๋์ด ์ฝ 3๋ฐฐ ์ ๋ ์ปค์ ์๋์๋ ๋ถ๋ฆฌํ๋ ๊ฐ๋ฐ/๋๋ฒ๊น
์์
์์๋ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
๋ค์ด ๋ฐ์์ js ํ์ผ์ ๋ณต์ฌํด์ ๋ถ์ฌ๋ฃ๋๋ค.
์๋์ฒ๋ผ ์ฌ์ฉํ๋ค.
<script type="text/javascript" src="js/jquery-3.6.3.js"></script>
2) ์คํ์๋ง๋ค ๊ตฌ๊ธ์ด๋ ๋ง์ดํฌ๋ก์ํํธ์์ jQuery ํ์ผ์ ํฌํจํ๋ ๋ฐฉ๋ฒ
- ๊ณต๊ฐ ์๋ฒ๋ก๋ถํฐ ๋คํธ์ํฌ๋ฅผ ํตํ์ฌ ์นํ์ด์ง๋ฅผ ์คํํ ๋๋ง๋ค ๋ค์ด๋ก๋๋ฐ์ ์๋ ์๋ค.
- 1.10.1๋ฒ์
<script type="text/javascript" src="https://code.jquery.com/jquery-3.6.3.min.js"></script>
2. ์ฒซ ๋ฒ์งธ jQuery ํ๋ก๊ทธ๋จ
https://jquery.com/download/์ Downloading jQuery using Bower์ ๋๋ฒ์งธ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ค.
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js></script>
</head>
3. jQuery ๋ฌธ์ฅ์ ๊ตฌ์กฐ p. 2567
jQuery ๋ฌธ์ฅ์ ์๋ฏธ๋ HTML ์์๋ฅผ ์ ํํ์ฌ (๋๋ ์ฐพ์์), ์ ํ๋ ์์์ ์ด๋ค ๋์(action)์ ์ํค๋ ๊ฒ์ด๋ค.
$(selector).action();
$: jQuery๋ผ๋ ์๋ฏธ์ด๋ค.
selector: ์ ํ์ (CSS์ ํ์์ ๋๊ฐ๋ค. id(#), ํด๋์ค(.) ๋ฑ)
2023.01.03 - [1. Revision 2023/CSS3] - [5] 230103 Ch4 CSS3 ์คํ์ผ ์ํธ ๊ธฐ์ด
$(selector).: ์ ํ์์ ์ํ์ฌ ์ ํ๋ ์์
action(): ์ ํ๋ ์์์ ํจ์ ํธ์ถ
ex) $("h1")์ ํ์ด์ง์ ์๋ ๋ชจ๋ <h1>์์๋ฅผ ์ฐพ์์ ๊ฐ๋ค ๋ฌ๋ผ๋ ์๋ฏธ์ด๋ค.
3.1 ์ ํ์
1) ํ์ ์ ํ์
์์์ ์ด๋ฆ์ ์ ์ด์ ์์๋ฅผ ์ ํํ๋ค.
<body>
<p> ์ด๊ฒ์ ๋ฌธ๋จ์
๋๋ค. </p>
<p> ์ด๊ฒ์ ๋ฌธ๋จ์
๋๋ค. </p>
</body>
์๋ฅผ ๋ค์ด <p>๋ผ๊ณ ํ๋ฉด ํ์ด์ง ์์ ๋ชจ๋ <p> ์์๊ฐ ์ ํ๋๋ค.
$("p").hide();
๋ชจ๋ <p> ์์๋ฅผ ์ฐพ์์ ํ๋ฉด์ ํ์ํ๋ค.
$("p").show()
2) .class ์ ํ์
์์๋ฅผ ์ ์ํ ๋ ์์์ ํด๋์ค ์ด๋ฆ์ ์ค ์ ์๋ค.
<body>
<h1> ์ ๋ชฉ </h1>
<p class="menu">1. ๊ตฌ์
</p>
<p> 2. ๊ฒฐ์ </p>
</body>
.class์ ๊ฐ์ ํ์์ผ๋ก ํน์ ํ ํด๋์ค์ ์ด๋ฆ์ ๊ฐ์ง๋ ์์๋ฅผ ์ ํํ ์ ์๋ค.
$(".menu").slideup();
class=group1์ธ ์์๋ฅผ ์ฌ๋ผ์ด๋์ ๋ฐฉ์์ผ๋ก ํ์ํ๋ค.
$(".group1").slideup()
3) #id ์ ํ์
์์๋ฅผ ์ ์ํ ๋ ์์์ id ์์ฑ์ ๋ถ์ฌํ ์ ์๋ค.
<body>
<h1> ์ ๋ชฉ <h1>
<p> ๋ฌธ๋จ์
๋๋ค. </p>
<p id="check"> ๋ฌธ๋จ์
๋๋ค. </p>
</body>
#id์ ๊ฐ์ ํ์์ผ๋ก ํน์ ํ ์์ด๋๋ฅผ ๊ฐ๋ ์์๋ฅผ ์ ํํ ์ ์๋ค.
$("#check").show();
id=id9์ธ ์์๋ฅผ ํ๋ฉด์์ ๊ฐ์ถ๋ค.
$("#id9").hide()
4) ๊ทธ ์ธ์ ์ ํ์
ํ์ | ์ค๋ช |
$("*") | ๋ชจ๋ ์์๋ฅผ ์ ํํ๋ค. |
$(this) | ์ฌ์ฉ์๊ฐ ์ ํํ, ํ์ฌ ์์๋ฅผ ์ ํํ๋ค. |
$("p.myClass") | <p> ์์ ์ค์์ class="myClass"์ธ ์์ |
$("p:first") | ์ฒซ๋ฒ์งธ <p> ์์ |
$("p:last") | ๋ง์ง๋ง <p> ์์ |
$("div span") | <div> ์์ ํฌํจ๋ <span> ์์ |
$(":button") | ๋ฒํผ๊ณผ ๋ฒํผ ํ์
์์๋ฅผ ๋ชจ๋ ์ ํ, ์ฆ <button></button> ํน์ <input type="button"/>์ด ๋ชจ๋ ์ ํ๋๋ค. |
$(this) is a jQuery wrapper around that element that enables usage of jQuery methods. jQuery calls the callback using apply() to bind this . Calling jQuery a second time (which is a mistake) on the result of $(this) returns an new jQuery object based on the same selector as the first one.
3.2 ์ผ๋ฐ์ ์ธ jQuery ๊ตฌ์กฐ p. 459
์๋ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌธ์๊ฐ ์์ ํ ๋ก๋๋๊ธฐ ์ ์ jQuery ์ฝ๋๊ฐ ์คํํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด์์ด๋ค. ๋ง์ฝ ๋ฌธ์๊ฐ ์์ ํ ๋ก๋๋์ง ์์ ์ํ์์ jQuery ๋ฉ์๋๊ฐ ์คํ๋๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
$(document).ready( function(){
// DOM์ด ๋ก๋ฉ๋์ด์ ์ค๋น๊ฐ ๋๋ฉด ์์
์ ์์ํ๋ค.
// ๊ตฌ์ฒด์ ์ผ๋ก jQuery ๋ฉ์๋๋ค์ ํธ์ถํ๋ค.
});
$(document): DOM์ ์๋ฏธํ๋ค. HTML ๋ฌธ์ ์ ์ฒด๋ฅผ ์ ํํ๋ค.
ready: '์ค๋น๊ฐ ๋๋ฉด'์ด๋ผ๋ event์ด๋ค.
function(){;: ํจ์ ์ ์
๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ์ด๋ค.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>BASIC</title>
<style>
</style>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.6.3.min.js"></script>
<script>
$(document).ready(function(){
});
</script>
</head>
<body>
</body>
</html>
DOM์ ์ฝ์ ํ ํจ์๋ฅผ ์คํํ๋ค๋ ์๋ฏธ์ด๋ค.
์๋์ฒ๋ผ jQuery๋ฅผ ๋จผ์ ์ ์ธํ ํ <script>์ ์ฌ์ฉํ๋ค.
<script type="text/javascript" src="https://code.jquery.com/jquery-3.6.3.min.js"></script>
</head>
<body>
<script>
//$(document): html๋ฌธ์ ์ ์ฒด๋ฅผ ์ ํํ๋ค.
$(document).ready(function (){
});
</script>
</body>
</html>
4. jQuery๋ฅผ ์ด์ฉํ ์ด๋ฒคํธ ์ฒ๋ฆฌ p.460
jQuery๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ์ฝ๊ฒ ํ ์ ์๋ค.
์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ด ์ด๋ฒคํธ์ด๋ค.
- ์์๋ฅผ ๋ง์ฐ์ค๋ก ํด๋ฆญํ๋ค. → click ์ด๋ฒคํธ ๋ฐ์
- ํค๋ณด๋์ ํค๋ฅผ ๋๋ฅธ๋ค. → keypress ์ด๋ฒคํธ ๋ฐ์
- ์ฌ์ฉ์๊ฐ ์
๋ ฅํ๋์ ๊ฐ์ ์
๋ ฅํ๋ค. → change ์ด๋ฒคํธ ๋ฐ์
์ด๋ฒคํธ์ ์์ )
<html>
<head>
<script>
function add(){
}
</script>
</head>
<body>
<input type="button" value="ํ์ธ" onclick="add()">
</body>
</html>
4.1 ์ด๋ฒคํธ์ ์ข ๋ฅ
์๋๋ ์ค์ํ ์ด๋ฒคํธ๋ค์ด๋ค.
ํค๋ณด๋ | ๋ง์ฐ์ค |
|
|
ํผ | ์ฐฝ |
|
|
4.2 jQuery ์ด๋ฒคํธ ๋ฉ์๋์ ๊ตฌ๋ฌธ
์์ ) ๋ฒํผ์ ํด๋ฆญํ๋ฉด ๋นจ๊ฐ ์์๊ฐ ๋์จ๋ค.
display: none; is commonly used with JavaScript to hide and show elements without deleting and recreating them. The <script> element uses display: none; as default.
<script src="https://code.jquery.com/jquery-3.6.3.min.js"></script>
<script>
$(document).ready(function(){
// "๋๋ฌ๋ณด์ธ์"๋ผ๋ ๋ฒํผ์ ํด๋ฆญํ๋ฉด
//$("#button1").on("click", function(){ // ๊ธฐ๋ณธ์ ์ธ ์ด๋ฒคํธ ํธ๋ค๋ง
$("#button1").click(function(){ // ์ ๊ธฐ๋ณธ์ ์ธ ์ด๋ฒคํธ ํธ๋ค๋ง ๋ณํ.
// alert("์ฐ๊ฒฐ๋จ.");
$("#box").show(); //show: <div>๋ฅผ ๋ณด์ฌ์ค๋ค.
})
});
</script>
<style>
#box{ background-color: red; width: 100px; height: 100px; display: none;}
</style>
</head>
<body>
<input type="button" id="button1" value="๋๋ฌ๋ณด์ธ์." onclick="click()">
<div id=box></div>
</body>
๊ฒฐ๊ณผ)
4.3 ์ด๋ฒคํธ ๋ฑ๋ก ๋ฐฉ๋ฒ
์ ์ ๋ฐฉ๋ฒ: ์๋ ์ด๋ ๊ฒ ํด์ผ ๋๋ค. ๋์ ์ผ๋ก ์ถ๊ฐ๋ ์์์์๋ ์ ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
$("#div1").on('click', function()
{
...
});
↓
๋จ์ถ ๋ฉ์๋ ๋ฐฉ๋ฒ: 99%์ ๊ฐ๋ฐ์๋ ์ด๋ ๊ฒ ์ฌ์ฉํ๋ค. ์ด๋ฏธ DOM ํธ๋ฆฌ ์์ ์์๊ฐ ์์ฑ๋์ด ์์ ๋๋ง ๊ฐ๋ฅํ๋ค.
$("#div1").click( function(){
...
});
4.4 ๋ง์ฐ์ค ์ด๋ฒคํธ p. 462
mouseenter: ์์ ์์ผ๋ก ๋ง์ฐ์ค๊ฐ ์ง์
ํ๋ค.
mouseleave: ๋ง์ฐ์ค๊ฐ ์์๋ฅผ ๋น ์ ธ๋๊ฐ๋ค.
mousedown: ์ผ์ชฝ ๋ง์ฐ์ค ๋ฒํผ์ด ๋๋ ค์ง๋ฉด ๋ฐ์ํ๋ค.
mouseup: ์ผ์ชฝ ๋ง์ฐ์ค ๋ฒํผ์ด ๋ผ์ด์ง๋ฉด ๋ฐ์ํ๋ค.
mouseover: ๋ง์ฐ์ค๊ฐ ํน์ ์์ ์์ ์์ผ๋ฉด ๋ฐ์ํ๋ค.
์์ ) <div> ํ๊ทธ๋ก ์ฌ๊ฐํ์ ๋ง๋ค๊ณ ๋ง์ฐ์ค ์ปค์๊ฐ ์ฌ๊ฐํ ์์ ๋์ด์ค๋ฉด ๋ณ์์ ๊ฐ์ ์ฆ๊ฐ์์ผ ํ๋ฉด์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ
<head>
<meta charset="UTF-8">
<title>mouse</title>
<!-- ์ฌ๊ฐํ์ ์คํ์ผ ์ ์ -->
<style>div.out{width:200px;height:60px;background-color:yellow;}</style>
<!-- jQuery ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐธ์กฐ -->
<script src="https://code.jquery.com/jquery-3.6.3.min.js"></script>
</head>
<body>
<div class = "out">
<p> ๋ง์ฐ์ค๋ฅผ ์ฌ๊ธฐ๋ก ์์ง์ด์ธ์. </p>
<p> 0 </p>
</div>
<script>
var i = 0;
//class๋ช
์ด out์ธ div์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ ธ์ ๋(mouseover) ์ด๋ฒคํธ ์ ์ฉ
//(=out ํด๋์ค์ <div>์์ mouseover ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด)
$("div.out").mouseover(function(){
//document.getElementsTagName("p")[0].innerHTML="mouse over"; ์๋ฐ์คํธ๋ฆฝํธ
//์ฒซ ๋ฒ์งธ <p>์์์ ๋ด์ฉ์ "mouse over"๋ก ๋ณ๊ฒฝํ๋ค.
$("p:first").text("mouse over");
//๋ง์ง๋ง <p>์์์ ์ฆ๊ฐ๋ณ ๋ณ์ i์ ๊ฐ์ ์ถ๋ ฅํ๋ค.
$("p:last").text(++i);
})
</script>
</body>
๊ฒฐ๊ณผ)
4.5 focus์ blur ์ด๋ฒคํธ p. 464
focus (์ปค์๊ฐ ๊น๋นก๊ฑฐ๋ฆผ) ์ด๋ฒคํธ๋ ์
๋ ฅ ํ๋๊ฐ ํค๋ณด๋ ํฌ์ปค์ค๋ฅผ ์ป์ผ๋ฉด ๋ฐ์ํ๋ค.
๋ฐ๋๋ก ์
๋ ฅ ํ๋๊ฐ ํค๋ณด๋ ํฌ์ปค์ค๋ฅผ ์์ผ๋ฉด blur (์ปค์ ์์)์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ค.
ex) blur ์ด๋ฒคํธ: NAVER ํ์๊ฐ์
์ ๊ฒฝ์ฐ, blur ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ์์ด๋ ๋ฐ์ ๋นจ๊ฐ์ ํฐํธ๋ก 'ํ์ ์ ๋ณด์
๋๋ค'๊ฐ ๋ฌ๋ค.
์์ ) ์
๋ ฅ ํ๋๋ฅผ ๋ง๋ค๊ณ ํฌ์ปค์ค๋ฅผ ์ป์ผ๋ฉด ์
๋ ฅ ํ๋์ ๋ฐฐ๊ฒฝ์์ ๋
ธ๋์์ผ๋ก ๋ณ๊ฒฝํด๋ณด๊ณ ํฌ์ปค์ค๋ฅผ ์์ผ๋ฉด ํฐ์์ผ๋ก ๋ณ๊ฒฝํด ๋ณด์.
this: ์์ input์ ๋ฐ๋ผ๊ฐ๋ค. ์์ ๊ฒ์ ์ด์ด์ ์ ์ฉํ๋ค.
<head>
<meta charset="UTF-8">
<title>focus and blur p.464</title>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.6.3.min.js"></script>
<script>
$(document).ready(function(){
//inputํ๊ทธ์ ์ปค์(ํฌ์ปค์ค)๋ฅผ ์ป์ผ๋ฉด inputํ๊ทธ์ ๋ฐฐ๊ฒฝ์์ ๋
ธ๋์์ผ๋ก ๋ณ๊ฒฝํ๋ค.
$("input").focus(function(){
//css: jQuery์์ css๋ฅผ ์ ์ฉํ ๋ ์ฐ๋ ํจ์
//this: ์์ input์ ๋ฐ๋ผ๊ฐ๋ค. ์์ ๊ฒ์ ์ด์ด์ ์ ์ฉํ๋ค.
$(this).css("background-color","yellow");
})
//inputํ๊ทธ์ ์ปค์(ํฌ์ปค์ค)๋ฅผ ์์ผ๋ฉด inputํ๊ทธ์ ๋ฐฐ๊ฒฝ์์ ํฐ์์ผ๋ก ๋ณ๊ฒฝํ๋ค.
$("input").blur(function(){
$(this).css("background-color","white");
})
})
</script>
</head>
<body>
์์ด๋: <input type = "text" name = "name">
</body>
๊ฒฐ๊ณผ)
4.6 ์ด๋ฒคํธ ์ฒ๋ฆฌ๊ธฐ ํจ์ ์์์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ๋ณด p. 465
๋ชจ๋ ์ด๋ฒคํธ ์ฒ๋ฆฌ ํจ์๋ ์ด๋ฒคํธ ๊ฐ์ฒด๋ฅผ ์ ๋ฌ๋ฐ๋๋ค. ์ด๋ฒคํธ ๊ฐ์ฒด๋ ๋ง์ ์์ฑ๊ณผ ๋ฉ์๋๋ฅผ ๊ฐ์ง๊ณ ์๋๋ฐ ๊ทธ ์ค์์ ์ ์ฉํ ๊ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
- pageX, pageY: ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋น์์ ๋ง์ฐ์ค ์์น
- type: ์ด๋ฒคํธ์ ์ข
๋ฅ(ex. "click")
- which: ๋๋ ค์ง ๋ง์ฐ์ค ๋ฒํผ์ด๋ ํค
์์ )
<style>
body{background-color:#eef;}
div{padding:20px;}
</style>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.6.3.min.js"></script>
<script>
</script>
</head>
<body>
<div id="log"></div>
<script>
$(document).mousemove(function(e){
$("#log").text("e.pageX: "+e.pageX+"e.pageY: "+e.pageY);
})
</script>
</body>
๊ฒฐ๊ณผ)
5. jQuery๋ฅผ ์ด์ฉํ ์ ๋๋ฉ์ด์ ํจ๊ณผ p. 466
5.1 show()์ hide()
$(selector).show( duration, complete );
selector: ์ ํ์
show: ์์๋ฅผ ํ์ํ๋ค.
duration: "slow", "fast", ๋๋ ๋ฐ๋ฆฌ์ด ๋จ์๋ก ์ง์ ํ ์ ์๋ค.
complete: ์ฝ๋ฐฑํจ์๋ก์ show() ๋ฉ์๋๊ฐ ์๋ฃ๋ ํ์ ํธ์ถ๋๋ ๋ฉ์๋๋ฅผ ์ง์ ํ๋ค.
ex) ์๋ฆผ์ฐฝ์ ๋์ด๋ค.
In computer programming, a callback or callback function is any reference to executable code that is passed as an argument to another piece of code; that code is expected to call back (execute) the callback function as part of its job.
ํ๋ก๊ทธ๋๋ฐ์์ ์ฝ๋ฐฑ(callback) ๋๋ ์ฝ๋ฐฑ ํจ์(callback function)๋ ๋ค๋ฅธ ์ฝ๋์ ์ธ์๋ก์ ๋๊ฒจ์ฃผ๋ ์คํ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ๋งํ๋ค. ์ฝ๋ฐฑ์ ๋๊ฒจ๋ฐ๋ ์ฝ๋๋ ์ด ์ฝ๋ฐฑ์ ํ์์ ๋ฐ๋ผ ์ฆ์ ์คํํ ์๋ ์๊ณ , ์๋๋ฉด ๋์ค์ ์คํํ ์๋ ์๋ค.
์์ ) ๋ฒํผ์ ๋๋ฅด๋ฉด ์ด๋ฏธ์ง๊ฐ ์์ํ ํ๋ฉด์ ํ์๋๋ค. ํ๋ฉด์์ ๊ฐ์ถ๋ค.
<style>
/*display:none; ์ฒ์์๋ ์ด๋ฏธ์ง๋ฅผ ํ๋ฉด์์ ๊ฐ์ถ๋ค. */
img{width:120px;height:100px;display:none;}
</style>
<script src="https://code.jquery.com/jquery-3.6.3.min.js">
</script>
<script>
$(document).ready(function(){
//show ๋ฒํผ์ ํด๋ฆญํ๋ฉด
$("#show").click(function (){
//$(์ ํ์).show(duration, complete)
//slow: ๋ฒํผ์ด ํด๋ฆญ๋๋ฉด ์ด๋ฏธ์ง๊ฐ ๋๋ฆฌ๊ฒ ๋ํ๋๋ค.
$("#coffee").show("slow",function(){alert("์ด๋ฏธ์ง๊ฐ ๋ํ๋ ํ์ ์๋ฆผ์ฐฝ์ ๋์ฐ์ธ์.")})});
//hide ๋ฒํผ์ ํด๋ฆญํ๋ฉด
$("#hide").click(function (){
$("#coffee").hide("slow",function(){alert("์ด๋ฏธ์ง๊ฐ ์ฌ๋ผ์ง ํ์ ์๋ฆผ์ฐฝ์ ๋์ฐ์ธ์.")})});
});
</script>
</head>
<body>
<button id="show"> Show it </button>
<button id="hide"> Hide it </button>
<img id="coffee" src="image/coffee.jpg" alt="">
</body>
๊ฒฐ๊ณผ) show()๋ ์ผ์ชฝ ์๋จ์์ ์์ํด์ ์ปค์ง๊ณ , hide()๋ ์ผ์ชฝ ์๋จ์ชฝ์ผ๋ก ์ฌ๋ผ์ง๋ค.
5.2 toggle() p. 467
์์๊ฐ ๊ฐ์ถ์ด์ ธ ์์ผ๋ฉด ํ์ํ๊ณ , ํ์๋์ด ์์ผ๋ฉด ๊ฐ์ถ๋ค.
show(), hide()์ฒ๋ผ ์ผ์ชฝ ์๋จ์ด ๊ธฐ์ค์ด๋ค.
์์ ) ์ด๋ฏธ์ง๊ฐ ๋ํ๋ฌ๋ค ์ฌ๋ผ์ง๊ธฐ๋ฅผ ๋ฐ๋ณตํ๋ค.
$("#toggle").click(function (){
$("#coffee").toggle("slow",function(){alert("ํ๋์ ๋ฒํผ์ผ๋ก ๋ํ๋๊ณ ์ฌ๋ผ์ง๋ค.")})});
<button id="toggle"> Toggle it </button>
๊ฒฐ๊ณผ)
5.3 animate()
animate(): ์ด๋๋ก๋ ์ด๋์ด ๊ฐ๋ฅํ๊ณ ์ด๋ค ํจ๊ณผ๋ ๊ฐ๋ฅํ๋ค.
$(selector).animate( properties, duration, easing, complete )
selector: ์ ํ์
animate: ์์๋ฅผ ์ ๋๋ฉ์ดํธํ๋ค.
properties: ์ ๋๋ฉ์ดํธ๋ CSS ์์ฑ, ๋ชฉํ๊ฐ์ ์ฌ๊ธฐ์ ์ ๋๋ค. CSS ํ์์ผ๋ก ์ํ๋ ์์ฑ์ ๋ฃ์ผ๋ฉด ๋๋ค.
duration: speed๋ "slow", "fast", ๋๋ ๋ฐ๋ฆฌ์ด ๋จ์๋ก ์ง์ ํ ์ ์๋ค.
Easing functions specify the rate of change of a parameter over time.
ํฌ๋ช ๋์ ํฌ๊ธฐ๋ ๋ณ๊ฒฝ๋๋ค.
<style>
#hong{width:120px;height:100px;position:relative;}
</style>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.6.3.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("#hong").animate({
left: "100px",
opacity: "0.5",
width:"150px"})
})
});
</script>
</head>
<body>
<img src = "image/coffee.jpg" id="hong"><br>
<button> animate() </button>
</body>
5.4 stop()
stop(): ๋ชจ๋ ์ ๋๋ฉ์ด์ ์ ์ค๊ฐ์ ์ค๋จํ๋ค.
ex) id=stop์ธ ๋ฒํผ์ด ํด๋ฆญ๋์์ ๋, ์ ๋๋ฉ์ด์ ์ ์ค์งํ๋ค.
$("#stop").click(function () {
$("#dog").stop();
});
์์ )
<style>
#hong{width:120px;height:100px;position:relative;}
</style>
<script src="https://code.jquery.com/jquery-3.6.3.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("#hong").animate({
left: "1000px",
opacity: "0.5",
width:"150px"})
});//# animate ๋
$("#stop").click(function(){
$("#hong").stop();
});
});
</script>
</head>
<body>
<img src = "image/coffee.jpg" id="hong"><br>
<button> animate() </button><button id="stop"> stop() </button>
</body>
์์ 2) ์ถ์ฒ: https://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_stop_slide
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#flip").click(function(){
$("#panel").slideDown(5000);
});
$("#stop").click(function(){
$("#panel").stop();
});
});
</script>
<style>
#panel, #flip {
padding: 5px;
font-size: 18px;
text-align: center;
background-color: #555;
color: white;
border: solid 1px #666;
border-radius: 3px;
}
#panel {
padding: 50px;
display: none;
}
</style>
</head>
<body>
<button id="stop">Stop sliding</button>
<div id="flip">Click to slide down panel</div>
<div id="panel">Hello world!</div>
</body>
</html>
๊ฒฐ๊ณผ)
5.5 fadeIn()/ fadeOut()
The fadeIn() method gradually changes the opacity, for selected elements, from hidden to visible (fading effect).
The fadeOut() method gradually changes the opacity, for selected elements, from visible to hidden (fading effect).
Note: Hidden elements will not be displayed at all (no longer affects the layout of the page).
5.6 slideUp(), slideDown()
SlideUp(): ์์๋ฅผ ๋ฐ์ด์ฌ๋ฆฐ๋ค.
SlideDown(): ์์๋ฅผ ๋ฐ์ด๋ด๋ฆฐ๋ค.
<style>
/*display:none; ์ฒ์์๋ ์ด๋ฏธ์ง๋ฅผ ํ๋ฉด์์ ๊ฐ์ถ๋ค. */
img{width:120px;height:100px;display:none;}
</style>
<script src="https://code.jquery.com/jquery-3.6.3.min.js">
</script>
<script>
$(document).ready(function(){
//show ๋ฒํผ์ ํด๋ฆญํ๋ฉด
$("#show").click(function (){
//$(์ ํ์).show(duration, complete)
//slow: ๋ฒํผ์ด ํด๋ฆญ๋๋ฉด ์ด๋ฏธ์ง๊ฐ ๋๋ฆฌ๊ฒ ๋ํ๋๋ค.
$("#coffee").show("slow",function(){alert("์ด๋ฏธ์ง๊ฐ ๋ํ๋ ํ์ ์๋ฆผ์ฐฝ์ ๋์ฐ์ธ์.")})});
//hide ๋ฒํผ์ ํด๋ฆญํ๋ฉด
$("#hide").click(function (){
$("#coffee").hide("slow",function(){alert("์ด๋ฏธ์ง๊ฐ ์ฌ๋ผ์ง ํ์ ์๋ฆผ์ฐฝ์ ๋์ฐ์ธ์.")})});
//toggle ๋ฒํผ์ ํด๋ฆญํ๋ฉด
$("#toggle").click(function (){
$("#coffee").toggle("slow",function(){alert("ํ๋์ ๋ฒํผ์ผ๋ก ๋ํ๋๊ณ ์ฌ๋ผ์ง๋ค.")})});
//fadeIn ๋ฒํผ์ ํด๋ฆญํ๋ฉด
$("#fadeIn").click(function (){
$("#coffee").fadeIn("slow",function(){alert("fadeIn์ ์ํ์ฒ๋ผ ๋ฑ์ฅํ๋ค.")})});
//fadeOut ๋ฒํผ์ ํด๋ฆญํ๋ฉด
$("#fadeOut").click(function (){
$("#coffee").fadeOut("slow",function(){alert("fadeOut์ ์ํ์ฒ๋ผ ์ฌ๋ผ์ง๋ค.")})});
//slideDown ๋ฒํผ์ ํด๋ฆญํ๋ฉด
$("#slideDown").click(function (){
$("#coffee").slideDown("slow",function(){alert("slideDown์ ์์๋ฅผ ๋ฐ์ด๋ด๋ฆฐ๋ค.")})});
//slideUp ๋ฒํผ์ ํด๋ฆญํ๋ฉด
$("#slideUp").click(function (){
$("#coffee").slideUp("slow",function(){alert("slideUp์ ์์๋ฅผ ๋ฐ์ด์ฌ๋ฆฐ๋ค.")})});
});
</script>
</head>
<body>
<button id="show"> Show it </button>
<button id="hide"> Hide it </button>
<button id="toggle"> Toggle it </button>
<button id="fadeIn"> Fade it in </button>
<button id="fadeOut"> Fade it out </button>
<button id="slideDown"> Slide it down </button>
<button id="slideUp"> Slide it up </button>
<img id="coffee" src="image/coffee.jpg" alt="">
</body>
๊ฒฐ๊ณผ)
5.7 ๋ฉ์๋ ์ฒด์ด๋ (method chaining) p. 472
๋ฉ์๋ ์ฒด์ด๋(method chaining): ๋์ผํ ์์์ ๋ํ ์ฌ๋ฌ ๊ฐ์ ๋ฉ์๋๋ฅผ ํ๋๋ก ์ฐ๊ฒฐํด์ ์คํํ ์ ์๋ค.
๋์ผํ ์์์ ๋ํ ์ฌ๋ฌ ๊ฐ์ jQuery ๋ฉ์๋๋ฅผ ํ๋์ ๋ฌธ์ฅ์ผ๋ก ์คํํ ์ ์๋ค.
์์ ) "#dog" ์์์ ๋ํ show(), fadeOut(), slideDown() ๋ฉ์๋๋ฅผ ์ฐ๊ฒฐํด์ ํธ์ถํ๋ค.
"#dog" ์์๋ ํ๋ฉด์ ๋ํ๋๊ณ ์ด์ด์ ํ์ด๋์์, ์ฌ๋ผ์ด๋๋ค์ด๋๋ค.
<style>
#coffee{width:120px;height:100px;display:none;}
</style>
<script src="https://code.jquery.com/jquery-3.6.3.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("#coffee").show().fadeOut("slow").slideDown("slow");
})
});
</script>
</head>
<body>
<button>๋ฉ์๋ ์ฒด์ด๋ ์์</button><br>
<img src="image/coffee.jpg" id="coffee">
</body>
๊ฒฐ๊ณผ)