์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- 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๐ณ๐
[17] 230119 Ch. 10 ์๋ฐ์คํฌ๋ฆฝํธ DOM๊ณผ ์ด๋ฒคํธ ์ฒ๋ฆฌ, ์ ๋ ฅ ๊ฒ์ฆ: 4. DOM ๋ ธ๋ ์ญ์ ์ ์ถ๊ฐ, 5. ๋ธ๋ผ์ฐ์ ๊ฐ์ฒด ๋ชจ๋ธ, 6. ์ด๋ฒคํธ ์ฒ๋ฆฌ [K-๋์งํธ ํธ๋ ์ด๋ 17์ผ] ๋ณธ๋ฌธ
[17] 230119 Ch. 10 ์๋ฐ์คํฌ๋ฆฝํธ DOM๊ณผ ์ด๋ฒคํธ ์ฒ๋ฆฌ, ์ ๋ ฅ ๊ฒ์ฆ: 4. DOM ๋ ธ๋ ์ญ์ ์ ์ถ๊ฐ, 5. ๋ธ๋ผ์ฐ์ ๊ฐ์ฒด ๋ชจ๋ธ, 6. ์ด๋ฒคํธ ์ฒ๋ฆฌ [K-๋์งํธ ํธ๋ ์ด๋ 17์ผ]
yjyuwisely 2023. 1. 19. 12:50230119 Thu 17th class
Ch. 10 DOM๊ณผ ์ด๋ฒคํธ ์ฒ๋ฆฌ, ์
๋ ฅ ๊ฒ์ฆ
์ง๋: p. 388 ~ (๊ต์ฌ: HTML5 + CSS3 + JavaScript๋ก ๋ฐฐ์ฐ๋ ์นํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ด, ์ ์: ์ฒ์ธ๊ตญ)
์ค๋ ๋ฐฐ์ด ๊ฒ ์ค ๊ธฐ์ตํ ๊ฒ์ ์ ๋ฆฌํ๋ค.
์ง๋ ์์ ๋ ๋ฐฐ์ด ๊ฒ ์ค ๋ค์ ๊ธฐ์ตํ ๊ฒ
The document object represents your web page.
If you want to access any element in an HTML page, you always start with accessing the document object.
HTML ์์์ ์ ํ
HTML ์์๋ฅผ ์ ํํ๊ธฐ ์ํด ์ ๊ณต๋๋ ๋ฉ์๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
๋ฉ์๋ | ์ค๋ช |
document.getElementsByTagName(ํ๊ทธ์ด๋ฆ) | ํด๋น ํ๊ทธ ์ด๋ฆ์ ์์๋ฅผ ๋ชจ๋ ์ ํํ๋ค. |
document.getElementById(์์ด๋) | ํด๋น ์์ด๋์ ์์๋ฅผ ์ ํํ๋ค. |
document.getElementsByClassName(ํด๋์ค์ด๋ฆ) | ํด๋น ํด๋์ค์ ์ํ ์์๋ฅผ ๋ชจ๋ ์ ํํ๋ค. |
document.getElementsByName(name์์ฑ๊ฐ) | ํด๋น name ์์ฑ๊ฐ์ ๊ฐ์ง๋ ์์๋ฅผ ๋ชจ๋ ์ ํํ๋ค. |
document.querySelectorAll(์ ํ์) | ํด๋น ์ ํ์๋ก ์ ํ๋๋ ์์๋ฅผ ๋ชจ๋ ์ ํํ๋ค. |
prompt() ํจ์
์ฌ์ฉ์์๊ฒ ์ด๋ค ์ฌํญ์ ์๋ ค์ฃผ๊ณ ์ฌ์ฉ์๊ฐ ๋ต๋ณ์ ์
๋ ฅํ ์ ์๋ ์๋์ฐ๋ฅผ ํ๋ฉด์ ๋์ด๋ค.
์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๋ด์ฉ์ ๋ฌธ์์ด๋ก ๋ฐํํ๋ค.
์์) prompt("๋น์นธ ์์ ๋จ๋ ๋ฌธ์ฅ", "๋น์นธ์ ๋จ๋ ๋ฌธ์ฅ") ๋๋ฒ์งธ ๋ถ๋ถ์ ์๋ต ๊ฐ๋ฅํ๋ค.
<script>
var age = prompt("๋์ด๋ฅผ ์
๋ ฅํ์ธ์.", "๋ง๋์ด๋ก ์
๋ ฅํฉ๋๋ค.");
</script>
๊ฒฐ๊ณผ)
- An integrated development environment (IDE) is software for building applications that combines common developer tools into a single GUI(Graphical user interface).
- 1 ์ด [s] = 1000 ๋ฐ๋ฆฌ์ด [ms]
- ํธ์ถํ๋ค:
Calling a function is giving the computer a single instruction that tells it to do one thing.
Call [Computing] [with object] cause (a subroutine) to be executed
ex) one subroutine may call another subroutine (or itself)
- execute COMPUTING carry out an instruction or program.
Ch. 10 ์๋ฐ์คํฌ๋ฆฝํธ DOM๊ณผ ์ด๋ฒคํธ ์ฒ๋ฆฌ, ์ ๋ ฅ ๊ฒ์ฆ
์ฑ ์ ๋ชฉ์ฐจ
-๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ(DOM)
-HTML ์์ ์ฐพ๊ธฐ
-HTML ๋ณ๊ฒฝํ๊ธฐ
-DOM ๋ ธ๋ ์ญ์ ์ ์ถ๊ฐ
-๋ธ๋ผ์ฐ์ ๊ฐ์ฒด ๋ชจ๋ธ
-์ด๋ฒคํธ ์ฒ๋ฆฌ
-ํผ์ ์ ํจ์ฑ ๊ฒ์ฆ
4. DOM ๋
ธ๋ ์ญ์ ์ ์ถ๊ฐ p. 388
<img src="" alt="">
ex)
<img src="example.gif" alt="Example" width="200" height="100">
<a href=""> </a>
img, a: ํ๊ทธ๋ช
src, href, alt: ์์ฑ
4.1 ์๋ก์ด HTML ์์ ์์ฑ
๋์ ์ผ๋ก ์น ํ์ด์ง์ ์๋ก์ด ์์๋ฅผ ๋ง๋ค์ด์ ์ถ๊ฐํ ์ ์๋ค.
1. ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ์ถ๊ฐํ๊ธฐ๋ฅผ ์ํ๋ ๋
ธ๋๋ฅผ ์์ฑํ๋ค. 2. ๋ ๋ฒ์งธ ๋จ๊ณ๋ ๋ฌธ์ ๋ด์์ ์ถ๊ฐํ ์์น๋ฅผ ์ฐพ๋๋ค. 3. ์ธ ๋ฒ์งธ ๋จ๊ณ์์๋ ์๋ก์ด ๋ ธ๋๋ฅผ ๊ธฐ์กด์ ๋ ธ๋์ ์ฐ๊ฒฐํ๋ค. |
1. ๋
ธ๋ ์์ฑ
document ๊ฐ์ฒด์ creatTextNode() ๋ฉ์๋๋ฅผ ํธ์ถํ๋ค.
document.creatTextNode()๋ ํ
์คํธ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง ๋
ธ๋๋ฅผ ์์ฑํ์ฌ ๋ฐํํ๋ค.
var node = document.creatTextNode("๋์ ์ผ๋ก ์ถ๊ฐ๋ ๋
ธ๋");
2. ๋ฌธ์ ํธ๋ฆฌ์์ ๋
ธ๋๋ฅผ ์ถ๊ฐํ ์์น๋ฅผ ์ฐพ๋๋ค.
๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ id๋ฅผ ์ด์ฉํด์ ํ์ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
document.getElementById()๋ฅผ ํธ์ถํ๋ค.
์์)
<script>
function addtext(t){
//๋
ธ๋๋ฅผ ์ถ๊ฐํ ์ ์๋์ง ๊ฒ์ฌ
if(document.createTextNode){
//1 ๋
ธ๋ ์์ฑ
var node = document.creatTextNode(t);
//2 ๋
ธ๋ ์ถ๊ฐ
document.getElementById("target").appendChild(node);
}
}
</script>
</head>
<body>
<div id="target" onclick="addtext('๋์ ์ผ๋ก ํ
์คํธ๊ฐ ์ถ๊ฐ๋ฉ๋๋ค.')"
style="font: 20px bold;">์ฌ๊ธฐ๋ฅผ ํด๋ฆญํ์ธ์.</div>
</body>
4.2 ๊ธฐ์กด์ HTML ์์ ์ญ์
HTML์์๋ฅผ ์ญ์ ํ๋ ค๋ฉด ๋ถ๋ชจ ๋
ธ๋๋ฅผ ์์์ผ ํ๋ค. ๋ถ๋ชจ ๋
ธ๋๋ id๋ฅผ ์๋ฉด ์ฐพ์ ์ ์๋ค.
DOM์ ๊ตฌ์กฐ์ ๋ฐ๋์ ์ญ์ ํ๊ณ ์ ํ๋ ์์์ ๊ทธ ๋ถ๋ชจ ์์๋ฅผ ์์์ผํ๋ค.
1. ๋ถ๋ชจ ๋
ธ๋๋ฅผ ์ฐพ๋๋ค.
2. ์์ ๋
ธ๋๋ฅผ ์ฐพ๋๋ค.
3. ๋ถ๋ชจ ๋
ธ๋๋ฅผ ํตํ์ฌ ์์ ๋
ธ๋๋ฅผ ์ญ์ ํ๋ค.
์์ 1)
<script>
function removeNode(){
//๋ถ๋ชจ ๋
ธ๋
var parent = document.getElementById("target");
//์ญ์ ํ๊ณ ์ ํ๋ ์์ ๋
ธ๋
var child = document.getElementById("p1");
parent.removeChild(child);
}
</script>
</head>
<body>
<div id="target">
<p id = "p1">์ฒซ๋ฒ์งธ ๋จ๋ฝ</p>
<p id = "p2">๋๋ฒ์งธ ๋จ๋ฝ</p>
</div>
<button onclick="removeNode()">๋๋ฅด์ธ์!</button>
</body>
๊ฒฐ๊ณผ)
์์ 2)
appendChild()
์๋ก์ด ๋
ธ๋๋ฅผ ํด๋น ๋
ธ๋์ ์์ ๋
ธ๋ ๋ฆฌ์คํธ(child node list)์ ๋งจ ๋ง์ง๋ง์ ์ถ๊ฐํ๋ค.
The appendChild() method of the Node interface adds a node to the end of the list of children of a specified parent node.
createElement()
์๋ก์ด ์์ ๋
ธ๋๋ฅผ ๋ง๋ค ์ ์๋ค.
The document.createElement() method creates the HTML element specified by tagName, or an HTMLUnknownElement if tagName isn't recognized.
createTextNode()
์๋ก์ด ํ
์คํธ ๋
ธ๋๋ฅผ ๋ง๋ค ์ ์๋ค.
์ฐธ๊ณ : http://www.tcpschool.com/javascript/js_dom_nodeManage
<script>
function newRegister(){
var newItem = document.createElement("li");
var subject = document.getElementById("subject");
var nextText = document.createTextNode(subject.value); //์ฌ๊ธฐ์ ์
๋ ฅ๋ ๊ฐ์ด ๋ฆฌ์คํธ๋ก ๋์ด
//The appendChild() method of the Node interface adds a node
//to the end of the list of children of a specified parent node.
newItem.appendChild(nextText);//<li>javascript</li>: ์
๋ ฅ๋์ javascript ์
๋ ฅํ๋ค๊ณ ๊ฐ์ ํ๋ค.
var itemList = document.getElementById("itemList");
itemList.appendChild(newItem);
}
</script>
</head>
<body>
<div>
<h1>Web Programming</h1>
<p>๊ณต๋ถํ ์ฃผ์ ๋ฅผ ๊ธฐ๋กํด๋ณด์ธ์</p>
<input type="text" id="subject">
<button onclick="newRegister()">์ถ๊ฐ</button>
<ul id="itemList"></ul>
</div>
</body>
๊ฒฐ๊ณผ)
5. ๋ธ๋ผ์ฐ์ ๊ฐ์ฒด ๋ชจ๋ธ p. 391
5.1 ๋ธ๋ผ์ฐ์ ๊ฐ์ฒด ๋ชจ๋ธ
๋ธ๋ผ์ฐ์ ๊ฐ์ฒด ๋ชจ๋ธ(BOM: Brower Object Model)์ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ์๋ฏธํ๋ค.
์ต์์ ๊ฐ์ฒด๋ window์ด๊ณ navigator, location, history, screen, document, frames ๊ฐ์ฒด๊ฐ ์๋ค.
์ง๊ธ๊น์ง ๋ง์ด ์ฌ์ฉํ์๋ document ๊ฐ์ฒด๋ ์ฌ์ค์ window ๊ฐ์ฒด์ ์์์ด๋ค.
- window: ๋ฉ์ธ ๋ธ๋ผ์ฐ์ ์๋์ฐ
- window.navigator: ๋ธ๋ผ์ฐ์ ์ ๋ํ ์ ๋ณด(ex. ๋ฒ์ ์ ๋ณด)
- window.screen: ์ฌ์ฉ์ ํ๋ฉด
- window.history: ์ฌ์ฉ์๊ฐ ๋ฐฉ๋ฌธํ URL ์ ์ฅ
- window.location: ํ์ฌ URL
- window.frames: ๋ธ๋ผ์ฐ์ ์๋์ฐ๋ฅผ ์ฐจ์งํ๊ณ ์๋ ํ๋ ์๋ค
- window.document: ๋ฉ์ธ ๋ธ๋ผ์ฐ์ ์ ํ์๋ HTML ๋ฌธ์
5.2 Window ๊ฐ์ฒด
window ๊ฐ์ฒด๋ BOM์์ ์ต์์ ๊ฐ์ฒด๋ก์ ์น ๋ธ๋ผ์ฐ์ ์ ์๋์ฐ๋ฅผ ๋ํ๋ด๊ณ ์๋ค.
๋ชจ๋ ์ ์ญ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด, ํจ์, ๋ณ์๋ ์๋์ ์ผ๋ก window ๊ฐ์ฒด์ ๋ฉค๋ฒ๊ฐ ๋๋ค.
ex) window ๊ฐ์ฒด์ ๋ฉ์๋: alert(), prompt()
๋ชจ๋ ์ ์ญ ๋ณ์๋ ์๋์ฐ ๊ฐ์ฒด์ ์์ฑ์ด๋ค.
๋ชจ๋ ์ ์ญ ํจ์๋ ์๋์ฐ ๊ฐ์ฒด์ ๋ฉ์๋์ด๋ค.
alert() ํจ์๊ฐ widow ๊ฐ์ฒด์ ๋ฉ์๋์ด๊ธฐ ๋๋ฌธ์ ๋ค์ 2๊ฐ์ ๋ฌธ์ฅ์ ๋์ผํ๋ค.
alert("Hello World!");
window.alert("Hello World!");
1) open()๊ณผ close()
open() ๋ฉ์๋๋ ์๋ก์ด ๋ธ๋ผ์ฐ์ ์๋์ฐ๋ฅผ ์คํํ๋ค.
window.open(URL, name, specs, replace);
์์) ํ์
์ฐฝ์ ๋ง๋ค ๋ ์ด๋ค.
<input type="button" value="๊ตฌ๊ธ์ฐฝ ์ด๊ธฐ"
onclick = "window.open('http://www.google.com/','_blank', 'width=300, height=300')">
2) setTimeout(), setInterval()
setTimeout() ๋ฉ์๋๋ ์ผ์ ํ ์๊ฐ์ด ์ง๋ ํ์, ์ธ์๋ก ์ ๋ฌ๋ ํจ์๋ฅผ ๋ฑ ํ ๋ฒ๋ง ํธ์ถํ๋ค. ์๊ฐ์ ๋จ์๋ ๋ฐ๋ฆฌ์ด์ด๋ค.
setTimeout(code, millisec)
์์ 1)
<script>
function showAlert(){
setTimeout(function(){alert("setTimeout()์ ์ฌ์ฉํ์ฌ ํ์๋ฉ๋๋ค.")}, 3000)
}
</script>
</head>
<body>
<p>๋ฒํผ์ ๋๋ฅด๋ฉด 3์ด ํ์ ๊ฒฝ๊ณ ๋ฐ์ค๊ฐ ํ๋ฉด์ ํ์๋ฉ๋๋ค.</p>
<button onclick="showAlert()">๋๋ฌ๋ณด์ธ์.</button>
</body>
setInterval() ๋ฉ์๋๋ ์ผ์ ํ ์๊ฐ๋ง๋ค ์ฃผ๊ธฐ์ ์ผ๋ก ํจ์๋ฅผ ํธ์ถํ๋ค. ๋ฐ๋์ ๊ฐ๋ฐ์๊ฐ ์ข
๋ฃ์์ผ์ผ ํ๋ค. ์๊ฐ์ ๋จ์๋ ๋ฐ๋ฆฌ์ด์ด๋ค.
์ฃผ๊ธฐ์ ์ธ ํธ์ถ์ ์ข
๋ฃํ๋ ค๋ฉด clearInterval()์ ํธ์ถํ๋ค.
์์ 2)
<script>
function showAlert(){
setInterval(function(){alert("setTimeout()์ ์ฌ์ฉํ์ฌ ํ์๋ฉ๋๋ค.")}, 3000)
}
</script>
</head>
<body>
<p>๋ฒํผ์ ๋๋ฅด๋ฉด 3์ด ํ์ ๊ฒฝ๊ณ ๋ฐ์ค๊ฐ ํ๋ฉด์ ํ์๋ฉ๋๋ค.</p>
<button onclick="showAlert()">๋๋ฌ๋ณด์ธ์.</button>
</body>
๊ฒฐ๊ณผ)
์์ 3) ์ฌ์ฉ์๊ฐ "์ค์ง" ๋ฒํผ์ ๋๋ฅผ ๋๊น์ง ๊ธ์๊ฐ ๊น๋นก์ด๋ ํ๋ก๊ทธ๋จ์ด๋ค. p.395
<script>
var id;
function changeColor(){
//์ ์ง์ํค๋ ค๋ฉด ๋ฐํ๊ฐ์ ์ ์ฅํ๋ค.
id = setInterval(flashText,500);
}
function flashText(){
var elem = document.getElementById("target");
//์กฐ๊ฑด ? ์ฐธ์ผ ๋ : ๊ฑฐ์ง์ผ ๋
elem.style.color = (elem.style.color=="red") ? "blue" : "red";
elem.style.backgroundColor =
(elem.style.backgroundColor=="green") ? "yellow" : "green";
}
function stopTextColor(){
//๋ฐํ๊ฐ์ ์ด์ฉํ์ฌ ์ฃผ๊ธฐ์ ํธ์ถ์ ์ค์งํ๋ค.
clearInterval(id);
}
</script>
</head>
<body onload = "changeColor();">
<div id = "target">
<p>This is a Text.</p>
</div>
<button onclick = "stopTextColor()">์ค์ง</button>
</body>
๊ฒฐ๊ณผ) ์ค์ง์์ผฐ์ ๋์ ๊ฒฐ๊ณผ์ด๋ค. elem.style.color์ ํ๋์์ด๊ณ , elem.style.backgroundColor์ ๋ ธ๋์์ผ๋ก ์ค์ ๋์๋ค.
3) moveTo(), moveBy()
์ ๋์ ์ธ ์์น๋ก ์ด๋ํ๋ ๊ฒ์ moveTo()๋ฅผ ์ฌ์ฉํ๊ณ ์๋์ ์ผ๋ก ์ด๋ํ๋ ค๋ฉด moveBy()๋ฅผ ์ฌ์ฉํ๋ค.
- resizeTo(), resizeBy(): ์๋์ฐ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๋ค.
- focus(): ํน์ ์๋์ฐ๋ก ํค๋ณด๋ ํฌ์ปค์ค๋ฅผ ์ด๋์ํจ๋ค.
- scrollTo(), scrollBy(): ์๋์ฐ ์คํฌ๋กค ์์น๋ฅผ ์ด๋์ํจ๋ค.
์์) w.moveBy(10, 10): ํ ๋ฒ ๋๋ฅผ ๋๋ง๋ค ํ๋ฉด์์ (10,10)์ฉ ์ด๋ํ๋ค. ๊ธฐ๋ณธ ์์น๋ (0,0)์ผ๋ก ์ค์ ํ ์ข์ธก ์๋จ์ด๋ค.
<script>
var w;
function openWindow(){
w = window.open("","","width=200, height=100");
//w.๋ฅผ ์จ์ ํ์
์ฐฝ ์์ ๋ด์ฉ์ด ๋์จ๋ค.
w.document.write("<p>์ค๋ ๋ค์๊ณผ ๊ฐ์ ์ํ์ ์ธ๊ฒ ํ๋๋ค.</p>");
w.moveTo(0,0);
}
function moveWindow(){
//ํ ๋ฒ ๋๋ฅผ ๋๋ง๋ค ํ๋ฉด์์ (10,10)์ฉ ์ด๋ํ๋ค.
w.moveBy(10, 10);
w.focus();
}
</script>
</head>
<body>
<input type="button" value="์๋์ฐ ์์ฑ" onclick="openWindow()"><br>
<input type="button" value="์๋์ฐ ์์ฑ" onclick="moveWindow()">
</body>
๊ฒฐ๊ณผ)
5.3 screen ๊ฐ์ฒด p. 397
availHeight, availWidth: ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด ์๋์ฐ์ ํ ์คํฌ ๋ฐ๋ฅผ ๊ฐ๋ฆฌ์ง ์์ผ๋ฉด์ ์ต๋ ํฌ๊ธฐ๋ก ์๋์ฐ๋ฅผ ์คํํ ๋ ์ฌ์ฉํ๋ค.
์์ฑ | ์ค๋ช |
availHeight | ํ๋ฉด์ ๋์ด๋ฅผ ๋ฐํ(์๋์ฐ์์ ํ์คํฌ ๋ฐ๋ฅผ ์ ์ธํ ์์ญ) |
availWidth | ํ๋ฉด์ ๋๋น๋ฅผ ๋ฐํ(์๋์ฐ์์ ํ์คํฌ ๋ฐ๋ฅผ ์ ์ธํ ์์ญ) |
colorDepth | ์ปฌ๋ฌ ํ๋ ํธ์ ๋นํธ ๊น์ด๋ฅผ ๋ฐํ |
height | ํ๋ฉด ์ ์ฒด์ ๋์ด๋ฅผ ๋ฐํ |
pixelDepth | ํ๋ฉด์ ์ปฌ๋ฌ ํด์๋(bits per pixel)๋ฅผ ๋ฐํ |
width | ํ๋ฉด์ ์ ์ฒด ๋๋น๋ฅผ ๋ฐํ |
์์) ์ ์ฒด์ฐฝ์ผ๋ก ๋ฌ๋ค.
<script>
function maxopen(url, winattributes){
var maxwindow = window.open(url,"",winattributes);
maxwindow.moveTo(0,0);
maxwindow.resizeTo(screen.availWidth, screen.availHeight);
}
</script>
</head>
<body>
<a href = "#" onclick = "maxopen('http://www.google.com',
'resize=1, scrollbars=1, status=1'); return False">์ ์ฒด ํ๋ฉด ๋ณด๊ธฐ</a>
</body>
5.4 location ๊ฐ์ฒด
location ๊ฐ์ฒด๋ ํ์ฌ URL์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค. window ๊ฐ์ฒด์ ์ผ๋ถ๋ก์ widow.location์ ํตํ์ฌ ์ ๊ทผ๋๋ค.
location ๊ฐ์ฒด์ ์์ฑ
์์ฑ | ์ค๋ช |
hash | URL ์ค์์ ์ต์ปค ๋ถ๋ถ์ ๋ฐํํ๋ค. (#section1๊ณผ ๊ฐ์ ๋ถ๋ถ) |
host | URL ์ค์์ hostname๊ณผ port๋ฅผ ๋ฐํํ๋ค. |
hostname | URL ์ค์์ hostname์ ๋ฐํํ๋ค. |
href | ์ ์ฒด URL์ ๋ฐํํ๋ค. |
pathname | URL ์ค์์ ๊ฒฝ๋ก(path)๋ฅผ ๋ฐํํ๋ค. |
port | URL ์ค์์ port๋ฅผ ๋ฐํํ๋ค. |
protocol | URL ์ค์์ protocol ๋ถ๋ถ์ ๋ฐํํ๋ค. |
search | URL ์ค์์ ์ฟผ๋ฆฌ(query) ๋ถ๋ถ์ ๋ฐํํ๋ค. |
location ๊ฐ์ฒด์ ๋ฉ์๋
๋ฉ์๋ | ์ค๋ช |
assign() | ์๋ก์ด ๋ฌธ์๋ฅผ ๋ก๋ํ๋ค. |
reload() | ํ์ฌ ๋ฌธ์๋ฅผ ๋ค์ ๋ก๋ํ๋ค. |
replace() | ํ์ฌ ๋ฌธ์๋ฅผ ์๋ก์ด ๋ฌธ์๋ก ๋์ฒดํ๋ค. |
์์)
<script>
function replace(){
location.replace("http://www.naver.com")
}
</script>
<!-- document.write(location.href); -->
<a href ="#" onclick="replace()">์ด๋ํ๊ธฐ</a>
6. ์ด๋ฒคํธ ์ฒ๋ฆฌ p. 400
์น ํ์ด์ง์์ ์ํธ์์ฉ์ด ๋ฐ์ํ๋ฉด ์ด๋ฒคํธ๊ฐ ์ผ์ด๋๋ค.
์์)
- ๋ง์ฐ์ค ํด๋ฆญ
- ์น ํ์ด์ง ๋ก๋ฉ
- ํธ๋ฒ๋ง(hovering)์ผ๋ก ๋ง์ฐ์ค๋ฅผ ์ด๋ค ์์ ์์์ ์์ง์ด๋ ๊ฒ
- HTML ์
๋ ฅ ์์์์ ์
๋ ฅ ๋ฐ์ค๋ฅผ ์ ํํ๋ ๊ฒ
- ํค๋ณด๋์ ํค๋ฅผ ๋๋ฅด๋ ๊ฒ
์์)
1. ์ฌ์ฉ์๊ฐ ๋ฒํผ์ ํด๋ฆญํ๋ค. ex) ๋๋ฌ๋ณด์ธ์! 2. ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ค. 3. ๋ฑ๋ก๋ ํจ์๊ฐ ์คํ๋๋ค. ex) function processEvent(){ ... } 4. ํ์ด์ง์ ๋ณํ๊ฐ ๋ฐ์ํ๋ค. ex) ๊ณผ์ผ๋ค์ ๋ฆฌ์คํธ - ์ฌ๊ณผ - ๋ฐ๋๋ - ์ค๋ ์ง ๋๋ฌ๋ณด์ธ์! |
6.1 onclick ์ด๋ฒคํธ
๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์ด๋ฒคํธ์ด๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ฌ์ฉ์๊ฐ ๋ฒํผ์ ํด๋ฆญํ๋ ๊ฒ ๊ฐ์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ๋ฏธ๋ฆฌ ์ ํด๋์ ์ฝ๋๊ฐ ์คํ๋๋๋ก ํ ์ ์๋ค.
//ํค๋ฉ์ด ํด๋ฆญ๋๋ฉด ์ฌ๊ธฐ์ ๋ฑ๋ก๋ ํจ์ change๊ฐ ํธ์ถ๋๋ค.
<h1 onclick = "change()"> ์ด๊ฒ์ ํด๋ฆญ ๊ฐ๋ฅํ ํค๋ฉ์
๋๋ค. </h1>
์์)
<script>
//์ ์ธ๋ฌธ์ c ๋ณ์์ ์ ์ฅํ๋ค.
function changeColor(c){
//์์์ ๋ณ์ ์ฒ๋ฆฌํด์ผํ๋ค.
//id๊ฐ "target"์ธ ์์์ ๋ฐฐ๊ฒฝ์์ ์ฃผ์ด์ง ์์ผ๋ก ๋ณ๊ฒฝํ๋ค.
document.getElementById("target").style.backgroundColor = c;
}
</script>
</head>
<body id = "target">
<form>
<!-- ๋ฒํผ์ด ํด๋ฆญ๋๋ฉด ์ฌ๊ธฐ์ ๋ฑ๋ก๋ ํจ์ changeColor๊ฐ ํธ์ถ๋๋ค -->
<input type = "radio" name ="c1" value = "v1" onclick = "changeColor('blue')">ํ๋์
<input type = "radio" name ="c1" value = "v1" onclick = "changeColor('green')">๋
น์
</form>
</body>
๊ฒฐ๊ณผ)
6.2 onload์ onunload ์ด๋ฒคํธ
์ฌ์ฉ์๊ฐ ์น ํ์ด์ง์ ์ง์
ํ๊ฑฐ๋ ์น ํ์ด์ง๋ฅผ ๋ ๋๋ฉด ๊ฐ๊ฐ onload์ onunload ์ด๋ฒคํธ๊ฐ ๋ฐ์๋๋ค.
์์) ํ์ด์ง๊ฐ ๋ก๋๋๋ฉด ๊ฒฝ๊ณ ๋ํ์์๋ฅผ ๋์ฐ๊ณ ํ์ด์ง์ ๋ฐฐ๊ฒฝ์์ ๋นจ๊ฐ์์ผ๋ก ๋ณ๊ฒฝํ์ฌ ๋ณธ๋ค.
<script>
//๋ฌธ์๊ฐ ๋ก๋๋๋ฉด ์๋ ํจ์๊ฐ ํธ์ถ๋๋ค.
function onLoadDoc(){
alert("๋ฌธ์๊ฐ ๋ก๋๋์์ต๋๋ค.");
//<body>์์๊ฐ ๋นจ๊ฐ์์ผ๋ก ๋ณ๊ฒฝํ๋ค.
document.body.style.backgroundColor="red";
}
</script>
</head>
<body onload = "onLoadDoc()">
</body>
๊ฒฐ๊ณผ)
6.3 onchange ์ด๋ฒคํธ
์
๋ ฅ ํ๋๋ฅผ ๊ฒ์ฆํ ๋ ์ข
์ข
์ฌ์ฉ๋๋ค.
์์) ์ฌ์ฉ์๊ฐ ์
๋ ฅ ํ๋์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๋ฉด upperCase() ํจ์๊ฐ ํธ์ถ๋๋ค.
<script>
//<input> ์์์ ๋ด์ฉ์ด ๋ณ๊ฒฝ๋๋ฉด ํธ์ถ๋๋ค.
//ํค๋ณด๋ ํฌ์ปค์ค๊ฐ ์
๋ ฅ ํ๋๋ฅผ ๋ฒ์ด๋๋ฉด ๋ณ๊ฒฝ ์ฌ๋ถ๋ฅผ ๊ฒ์ฌํ์ฌ ํธ์ถํ๋ค.
function sub(){
var x = document.getElementById("name");
x.value = x.value.toLowerCase();
}
</script>
</head>
<body>
์์ด ๋จ์ด: <input type="text" id="name" onchange="sub()">
<p>์
๋ ฅ ํ๋๋ฅผ ๋ฒ์ด๋๋ฉด ์๋ฌธ์๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค.</p>
</body>
๊ฒฐ๊ณผ)
6.4 onmouseover ์ด๋ฒคํธ
onmousover์ onmouseout ์ด๋ฒคํธ๋ ์ฌ์ฉ์๊ฐ HTML ์์ ์์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ฆฌ๊ฑฐ๋ ์์๋ฅผ ๋ ๋ ๋ ๋ฐ์ํ๋ค.
์์)
<script>
function OnMouseIn(elem){
//border: ํ
๋๋ฆฌ
elem.style.border = "2px solid red";
}
function OnMouseOut(elem){
elem.style.border = "";
}
</script>
</head>
<body>
<!-- this: ๊ฐ์ฒด์ด๋ฉฐ ๋ณ์๊ฐ ์๋๋ค. -->
<div style = "background-color: yellow; width: 200px"
onmouseover = "OnMouseIn (this)" onmouseout = "OnMouseOut (this)">
๋ง์ฐ์ค๋ฅผ ์ด ์์ ์์ ์ด๋ํ์ธ์.
</div>
</body>
๊ฒฐ๊ณผ)
6.5 onmousedown, onmouseup, onclick ์ด๋ฒคํธ
๋ง์ฐ์ค ํด๋ฆญ๊ณผ ๊ด๋ จ๋ ์ด๋ฒคํธ์ด๋ค.
1. ๋จผ์ ๋ง์ฐ์ค ๋ฒํผ์ด ํด๋ฆญ๋๋ฉด onmousedown ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ค.
2. ์ด์ด์ ๋ง์ฐ์ค ๋ฒํผ์ด ๋ผ์ด์ง๋ฉด onmouseup ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๊ณ
3. ๋ง์ง๋ง์ผ๋ก ๋ง์ฐ์ค ํด๋ฆญ์ด ์๋ฃ๋๋ฉด์ onclick ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ค.
์์) ๋ง์ฐ์ค ๋ฒํผ์ด ๋๋ ค์ง๋ฉด ๋ฒํผ์ ์์์ ๋นจ๊ฐ์์ผ๋ก ๋ณ๊ฒฝํ๋ค.
<script>
function OnButtonDown(button){
//๋ง์ฐ์ค ๋ฒํผ์ด ๋๋ฌ์ง๋ฉด ๋ฒํผ์ ์์์ ๋นจ๊ฐ์์ผ๋ก ๋ณ๊ฒฝํ๋ค.
button.style.color = "#ff0000";
}
function OnButtonUp(button){
//๋ง์ฐ์ค ๋ฒํผ์ด ๋ผ์ด์ง๋ฉด ๋ฒํผ์ ์์์ ๊ฒ์ ์์ผ๋ก ๋ณ๊ฒฝํ๋ค.
button.style.color = "#000000";
}
</script>
</head>
<body>
<button onmousedown="OnButtonDown (this)" onmouseup="OnButtonUp (this)">
๋๋ฌ๋ณด์ธ์!</button>
</body>
๊ฒฐ๊ณผ)
๊ธฐํ
๊ฐ์ธ ํฌํธํด๋ฆฌ์ค
1/25๊น์ง ๊ฐ์ธํฌํธํด๋ฆฌ์ค ์ฃผ์ ๋ฐ ๋ฉ์ธ ํ๋ฉด ์ค๊ณ ์๊ฐํ๊ธฐ (ํผ์ ์ ํจ์ฑ ๊ฒ์ฌ ์ ์ฉ์ํค๊ธฐ)
1. ์ฃผ์
2. ๋ฉ์ธ ํ๋ฉด ์ค๊ณ
3. ๋ฉ์ธ ํ๋ฉด ๊ตฌํ