2021. 10. 29. 17:30γHTML + CSS + JS/JS μλ°μ€ν¬λ¦½νΈ
1. κ·Έλ£Ή μ΄λ²€νΈ λ±λ‘ λ©μλ
κ·Έλ£Ή μ΄λ²€νΈ λ±λ‘ λ©μλλ μ¬μ©νλ©΄ ν λ²μ 2κ° μ΄μμ μ΄λ²€νΈλ₯Ό λ±λ‘ν μ μλ€.
on() μ΄λ²€νΈ λμ μμμ 2κ° μ΄μμ μ΄λ²€νΈλ₯Ό λ±λ‘νλ€. μ¬μ© λ°©μμ λ°λΌ μ΄λ²€νΈλ₯Ό λ±λ‘ν μ΄νμλ λμ μΌλ‘ μμ±λκ±°λ 볡μ λ μμμλ μ΄λ²€νΈκ° μ μ©λλ€.
bind() μ΄λ²€νΈ λμ μμμ 2κ° μ΄μμ μ΄λ²€νΈλ₯Ό λ±λ‘νλ€.
delegate() μ νν μμμ νμ μμμ μ΄λ²€νΈλ₯Ό λ±λ‘νλ€. μ΄λ²€νΈλ₯Ό λ±λ‘ν μ΄νμλ λμ μΌλ‘ μμ±λκ±°λ 볡μ λ μμμλ μ΄λ²€νΈκ° μ μ©λλ€.
one() μ΄λ²€νΈ λμ μμμ 1κ° μ΄μμ μ΄λ²€νΈλ₯Ό λ±λ‘νλ€. μ§μ ν μ΄λ²€νΈκ° 1ν λ°μνκ³ μλμΌλ‘ ν΄μ λλ€.
1οΈβ£ on() λ©μλ
on() λ©μλλ μ νν μμμ μ΄λ²€νΈλ₯Ό λ±λ‘ν μ΄νμλ μλ‘κ² μμ±λκ±°λ 볡μ λ μμμ μ΄λ²€νΈλ₯Ό μ μ©ν μ μλ€.
(λμ μΌλ‘ μμ±λκ±°λ 볡μ λ μμμλ μ΄λ²€νΈκ° λ±λ‘λλ€.!)
$([document | "μ΄λ²€νΈ λμμ μμ μμ μ ν"]).on("μ΄λ²€νΈ μ’ λ₯", "μ΄λ²€νΈ λμ μ ν", function() {
μλ°μ€ν¬λ¦½νΈ μ½λ;
});
2οΈβ£ delegate() / one() μ΄λ²€νΈ λ±λ‘ λ©μλ
delegate() μ΄λ²€νΈ λ±λ‘ λ©μλλ μ νν μμμ νμ μμμ μ΄λ²€νΈλ₯Ό λ±λ‘νλ€.
κ·Έλ¦¬κ³ μ΄λ²€νΈλ₯Ό λ±λ‘ν μ΄νμλ λμ μΌλ‘ μμ±λ μμμ 볡μ λ μμμλ μ΄λ²€νΈλ₯Ό λ±λ‘νλ€.
$([document | "μ΄λ²€νΈ λμμ μμ μμ μ ν"]).delegate("μ΄λ²€νΈ μ’ λ₯", "μ΄λ²€νΈ λμ μ ν", function() {
μλ°μ€ν¬λ¦½νΈ μ½λ;
});
one() μ΄λ²€νΈ λ±λ‘ λ©μλλ μ΄λ²€νΈκ° 1ν λ°μνλ©΄ μλμΌλ‘ λ±λ‘λ μ΄λ²€νΈκ° μ κ±°λλ€.
(μΌνμ± μ΄λ²€νΈλ₯Ό λ±λ‘ν λ μ¬μ©νλ€.)
2. μ΄λ²€νΈ μ κ±° λ©μλ
μ΄λ²€νΈ μ κ±° λ©μλλ₯Ό μ¬μ©νλ©΄ μ΄μ μ λ±λ‘λ μ΄λ²€νΈλ₯Ό μ κ±°ν μ μλ€.
off() on() λ©μλλ‘ λ±λ‘ν μ΄λ²€νΈλ₯Ό μ κ±°νλ€.
unbind() bind() λ©μλλ‘ λ±λ‘ν μ΄λ²€νΈλ₯Ό μ κ±°νλ€.
undelegate() delegate() λ©μλλ‘ λ±λ‘ν μ΄λ²€νΈλ₯Ό μ κ±°νλ€.
- κΈ°λ³Έ μ΄λ²€νΈ μ κ±° λ°©μ
$("μ΄λ²€νΈ λμ μμ μ ν").off("μ΄λ²€νΈ μ’ λ₯");
- λΌμ΄λΈ μ΄λ²€νΈ μ κ±° λ°©μ
$([document | "μ΄λ²€νΈ λμ μμ μμ μ ν"]).off("μ΄λ²€νΈ μ’ λ₯" , "μ΄λ²€νΈ λμ μμ μ ν");
$("μ΄λ²€νΈ λμ μμ μ ν").unbind("μ΄λ²€ν μ’ λ₯");
- κΈ°λ³Έ μ΄λ²€νΈ μ κ±° λ°©μ
$("μ΄λ²€νΈ λμ μμ μ ν").delegate("μ΄λ²€νΈ μ’ λ₯");
- λΌμ΄λΈ μ΄λ²€νΈ μ κ±° λ°©μ
$([document | "μ΄λ²€νΈ λμ μμ μμ μ ν"]).delegate("μ΄λ²€νΈ μ’ λ₯" , "μ΄λ²€νΈ λμ μμ μ ν");
* μ°μ΅λ¬Έμ
κΈμλ₯Ό νλνκ³ μΆμνλ λ²νΌ
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title> μ΄λ²€νΈ </title>
<style>
body{font: 14px Malgun Gothic, "λ§μκ³ λ",sans-serif;}
.zoomBtnZone{font-size: 14px;}
</style>
<script src="js/jquery.js"></script>
<script>
$(function(){
var baseFontSize = 14;
$(".zoomBtnZone button").on("click",zoomInOut);
function zoomInOut() {
if($(this).hasClass("zoomOutBtn")) {
if(baseFontSize <= 8) return false;
baseFontSize--;
}else if($(this).hasClass("zoomInBtn")) {
if(baseFontSize >= 20) return false;
baseFontSize++;
}else{
baseFontSize = 14;
}
$(".fontSize").text(baseFontSize+"px");
$("body").css({fontSize:baseFontSize + "px"});
}
});
</script>
</head>
<body>
<p class="zoomBtnZone">
<button class="zoomOutBtn">-</button>
<button class="originBtn">100%</button>
<button class="zoomInBtn">+</button>
</p>
<p class="fontSize">14px</p>
<div id="wrap">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas feugiat consectetur nibh, ut luctus urna placerat non. Phasellus consectetur nunc nec mi feugiat egestas. Pellentesque et consectetur mauris, sed rutrum est. Etiam odio nunc, ornare quis urna sed, fermentum fermentum augue. Nam imperdiet vestibulum ipsum quis feugiat. Nunc non pellentesque diam, nec tempor nibh. Ut consequat sem sit amet ullamcorper sodales.
</div>
</body>
</html>
* μ°μ΅λ¬Έμ 2
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>μ΄λ²€νΈ</title>
<style>
*{margin:0;padding:0;box-sizing:border-box;}
body{padding:20px;}
li{list-style:none;}
a{text-decoration: none;color: #000;}
.gnb{width:400px;text-align: center;overflow: hidden;}
.gnb li{width:25%;float: left;padding:5px;}
.gnb li a{border: 1px solid #000;display: block;padding:5px 0;}
</style>
<script src="js/jquery.js"></script>
<script>
$(function() {
var beforeMenu = null;
$(".gnb > li > a").on("mouseover focus", function() {
if(beforeMenu) beforeMenu.css({background:"none"});
$(this).css({"background-color":"#0ff"});
beforeMenu = $(this);
});
$(".gnb").on("mouseleave", function() {
if(beforeMenu) beforeMenu.css({background:"none"});
});
});
</script>
</head>
<body>
<ul class="gnb">
<li><a href="#">menu1</a></li>
<li><a href="#">menu2</a></li>
<li><a href="#">menu3</a></li>
<li><a href="#">menu4</a></li>
</ul>
</body>
</html>