2021. 11. 1. 11:21γHTML + CSS + JS/JS μλ°μ€ν¬λ¦½νΈ
1. μ λλ©μ΄μ ν¨κ³Ό μ μ΄ λ©μλ
μ λλ©μ΄μ ν¨κ³Ό μ μ΄ λ©μλλ 'ν¨κ³Ό' λλ 'μ λλ©μ΄μ 'μ΄ μ μ©λ μμμ λμμ μ μ΄νλ λ©μλμ΄λ€.
μ λλ©μ΄μ λ©μλλ ν¨μκ° μ μ©λ μμλλ‘ ν(queue) λΌλ μ μ₯μμ μ μ₯λλ€.
- μ λλ©μ΄μ ν¨κ³Ό μ μ΄ λ©μλ μ’ λ₯
stop() νμ¬ μ€ν μ€μΈ ν¨κ³Όλ₯Ό λͺ¨λ μ μ§μν¨λ€.
delay() μ§μ ν μκ°λ§νΌ μ§μ°νλ€κ° μ λλ©μ΄μ μ μ§ννλ€.
queue() νμ μ¬μ©μ μ μ ν¨μλ₯Ό μΆκ°νκ±°λ νμ λκΈ°μ€μΈ ν¨μλ₯Ό λ°°μ΄μ λ΄μ λ°ννλ€.
-> κ·Έλ¦¬κ³ queue() λ©μλ μ΄νμ μ λλ©μ΄μ ν¨κ³Ό λ©μλλ λͺ¨λ μ·¨μνλ€.
clearQueue() νμμ μ²μμΌλ‘ μ§ννκ³ μλ μ λλ©μ΄μ λ§ μ μΈνκ³ λκΈ° μ€μΈ μ λλ©μ΄μ μ λͺ¨λ μ κ±°νλ€.
dequeue() queue()λ©μλλ₯Ό μ΄μ©νλ©΄ λκΈ°νκ³ μλ μ λλ©μ΄μ λ©μλλ μ κ±°λλλ° dequeue() λ©μλλ₯Ό μ΄μ©νλ©΄ λ©μλκ° μ κ±°λλ κ²μ λ§μ μ μλ€.
finish() μ νν μμμ μ§ν μ€μΈ μ λλ©μ΄μ μ κ°μ λ‘ μλ£ μμ μΌλ‘ λ³΄λΈ ν μ’ λ£νλ€.
1οΈβ£ stop()/ delay() λ©μλ
stop() λ©μλλ μμμ μ μ©ν μ λλ©μ΄μ μ μ μ§μν€κ³ , delay() λ©μλλ μμμ μ μ©ν μ λλ©μ΄μ μ μ§μ ν μκ°λ§νΌ μ§μ°μν¨λ€.
$("μμ μ ν").stop();
-> μ§ν μ€μΈ 첫λ²μ§Έ μ λλ©μ΄μ λ§ μ μ§μν¨λ€.
$("μμ μ ν").stop(clearQueue, finish);
-> clearQueue, finishλ trueλ false λ‘ κ°μ μ λ ₯ν μ μλ€.
clearQueueκ° trueλ©΄ νμμ λκΈ°μ€μΈ μ λλ©μ΄μ μ λͺ¨λ μ κ±°νκ³ , finishκ° trueμ΄λ©΄ μ§νμ€μΈ μ λλ©μ΄μ μ κ°μ λ‘ μ’ λ£νλ€.
stop()μ νμ¬ μ§νμ€μΈ μ λλ©μ΄μ λ§ μ μ§μν¨λ€.
stop(true, ture)λ μ μ₯μμ λκΈ° μ€μΈ μ λλ©μ΄μ μ μ κ±°νκ³ , νμ¬ μ§νμ€μΈ μ λλ©μ΄μ λ μ’ λ£λ μμ μΌλ‘ μ΄λνλ€.
2οΈβ£ queue() / dequeue() λ©μλ
queue() λ©μλλ νμ μ μ©λ μ λλ©μ΄μ ν¨μλ₯Ό λ°ννκ±°λ νμ μ§μ ν ν¨μλ₯Ό μΆκ°νλ€.
μ΄λ queue() λ©μλλ₯Ό μ€ννλ©΄ μ€ν μ΄νμ λͺ¨λ μ λλ©μ΄μ μ΄ μ·¨μλλ€.
μ΄λ μ·¨μλμ§ μκ² μ°κ²°ν΄μ£ΌκΈ° μν΄μ dequeue() λ©μλλ₯Ό μ¬μ©νλ©΄ queue() λ©μλ μ€ν μ΄νμ μ μ©λ μ λλ©μ΄μ λ©μλκ° μ·¨μλμ§ μκ² μ°κ²°ν΄μ€λ€.
- ν(Queue) μ ν¨μ λ°ν
$("μμ μ ν").queue();
- ν(Queue)μ ν¨μ μΆκ°
$("μμ μ ν").queue(function() {μλ°μ€ν¬λ¦½νΈ μ½λ;});
- dequeue() λ©μλ
$("μμ μ ν").dequeue();
μ κΈ°μ dequeue()λ₯Ό μλ΅νλ€λ©΄ queue() λ©μλ μ€ν μ΄νμ μ μ©λ μ λλ©μ΄μ λ€μ΄ λμνμ§ μμμ κ²μ΄λ€.
3οΈβ£ clearQueue() λ©μλ
clearQueue() λ©μλλ μ§ν μ€μΈ μ λλ©μ΄μ μ μ μΈνκ³ νμμ λκΈ°νλ λͺ¨λ μ λλ©μ΄μ ν¨μλ₯Ό μ κ±°νλ€.
$("μμ μ ν").clearQueue();
* μ°μ΅λ¬Έμ
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title> ν¨κ³Όμ μ λλ©μ΄μ
</title>
<script src="js/jquery.js"></script>
<script>
$(function() {
var txt1 = $(".txt1");
var count = 1;
$(".btnWrap button").on("click", function() {
if(!txt1.is(":animated")) {
if($(this).hasClass("backBtn")) {
count --;
if(count < 1) {
count = 1;
return fasle;
}
txt1.animate({marginLeft : "-=10%"}, 300);
}else {
count++;
if(count > 10) {
count = 10;
return false;
}
txt1.animate({marginLeft : "+=10%"}, 300);
}
}
});
});
</script>
<style>
*{margin:0;padding:0;}
body{padding:20px;}
.btnWrap{margin-bottom: 10px;}
.wrap{
max-width:600px;
border: 1px solid #000;
}
.txt1{width:10%; text-align:center;
background-color: aqua;}
</style>
</head>
<body>
<p class="btnWrap">
<button class="backBtn">Back</button>
<button class="goBtn">Go</button>
</p>
<div class="wrap">
<p class="txt1">λ΄μ©1</p>
</div>
</body>
</html>