1월 중순 -> 프로젝트 시작
jQuery를 사용하는 2가지 방법.
<script>
를 <head>
태그 안에 넣어 사용함.
1) 다운로드해서 사용하는 방식
<script src="jquery-3.6.0.min.js"></script>
2) jquery CDN으로 사용하는 방식
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
$(selector).action()
형식으로 작성됨.
ex) $(this).hide()
$(".test").hide()
$("p").hide()
.ready()
id
, class
, input[type]
, *
, :tag명
, tag명:자식
,,으로 selecte 할 수 있음.<script>
$(document).ready(function () {
$("button").click(function () {
$(".class").hide();
$("#id").hide();
hide(); //-> 모든 태그 지정
this").hide(); //-> 현재 선택된 <button>태그를 삭제함.
})
})
</script>
.on()
.on(obejct : function(){});
형식으로 작성함.<script>
$(document).ready(function() {
$("p").on({
mouseenter : function() {
$(this).css("background-color", "lightgray");},
//--> $("p").mouseenter(function(){});와 같은 의미.
mouseleave : function() {
$(this).css("background-color", "lightblue");},
click : function() {
$(this).css("background-color", "yellow");},
})
});
</script>
.hide(speed,callback)
: 선택된 element를 숨김.
.show(speed,callback)
: 선택된 element를 보여줌.
.toggle(speed,callback)
: 선택된 element를 한 번 반응을 주면 보여주고 다시 반응을 주면 보여줌.
-> hide()
와 show()
를 반복함.
<script>
$(document).ready(function () {
$("#hide").click(function () {
$(".hidNshw").hide(500); //css) display: none;
});
$("#show").click(function () {
$(".hidNshw").show(1000); //css) display: block;
});
// $(selector).toggle(speed,callback); -> 형식
$("#toggle").click(function() {
$(".toggle").toggle(500);
})
})
</script>
.fadeIn()
.fadeOut()
.fadeToggle()
<script>
$(document).ready(function () {
$("#fadeToggle").click(function () {
$("#div1").fadeToggle();
$("#div2").fadeToggle("slow");
$("#div3").fadeToggle(2000);
});
})
</script>
<!-- <body> 태그 안에 있는 내용 -->
<button id="fadeToggle">Click to fade toggle</button>
<div id="div1" style="width:80px;height:80px;display:none;background-color:red;"></div><br>
<div id="div2" style="width:80px;height:80px;display:none;background-color:green;"></div><br>
<div id="div3" style="width:80px;height:80px;display:none;background-color:blue;"></div>
.slideDown()
.slideUp()
.slideToggle()
<script>
$(document).ready(function () {
$("#flip").click(function () {
// $("#panel").slideDown(500);
$("#panel").slideToggle(500);
});
});
</script>
<!-- <body> 태그 안에 있는 내용 -->
<div id="flip">Click to slideDown() panel</div>
<div id="panel">Hello world!</div>
.animate({css : 'css value'},...);
<script>
$(document).ready(function () {
$("button").click(function () {
var div = $("div");
// query에 실행할 animate method list를 넣고, 차례로 실행함.
div.animate({ height: '300px', opacity: '0.4' }, "slow");
div.animate({ width: '300px', opacity: '0.8' }, "slow");
div.animate({ height: '100px', opacity: '0.4' }, "slow");
div.animate({ width: '100px', opacity: '0.8' }, "slow");
});
});
</script>
callback 함수 사용
ex) .hide(time, callback);
=> hide가 실행이 끝나면, callback 함수 실행함.
<script>
$(document).ready(function() {
$("button").click(function() {
// .hide(time, callback); : hide가 실행이 끝나면, callback 함수 실행
$("p").hide("slow", function() {
alert("This paragraph is now hidden!!");
});
});
});
</script>
chaining
: 실행하고자 하는 method들을 연달아 작성하는 방법.
<script>
$(document).ready(function () {
$("button").click(function () {
// chaining : 실행하고자 하는 method들을 연달아 사용하는 방법.
$("#p1").css("color", "red")
.slideUp(500)
.slideDown(500);
/*
=> 동일한 효과.
$("#p1").css("color", "red");
$("#p1").slideUp(500);
$("#p1").slideDown(500);
*/
});
});
</script>
html element와 css element를 가져오는 방법에 대한 내용.
.text()
.html()
<script>
$(document).ready(function () {
$("#btn1").click(function() {
alert("Text : " + $("#test").text());
// 결과: This is some bold text in a paragraph.
})
$("#btn2").click(function() {
alert("HTML : " + $("#test").html());
// 결과: This is some <b>bold</b> text in a paragraph.
})
})
</script>
<!-- <body> 태그 안에 있는 내용. -->
<p id="test">This is some <b>bold</b> text in a paragraph.</p>
.val()
<script>
$(document).ready(function () {
$("button").click(function() {
alert("Value : " + $("#test").val());
// 결과: Mickey Mouse
// -> 입력하는 결과로 출력됨.
});
});
</script>
<!-- <body> 태그 안에 있는 내용. -->
<p>Name: <input type="text" id="test" value="Mickey Mouse"></p>
.attr("attribute")
<script> // --> <head> 태그 안에 <script>
$(document).ready(function () {
$("button").click(function() {
alert($("#google").attr("href"));
// 결과 : https://www.google.com/
// 사용자가 새로운 attribute를 지정헤 jquery로 사용 가능함.
alert($("#google").attr("data-info"));
// 결과 : this is jQuery
});
});
</script>
<body>
<!--
사용자가 새로운 attribute를 지정 가능함.
+) 작명할 때 'data-어쩌구'로 설정하는 것이 약속임.
-->
<p><a href="https://www.google.com/" id="google" data-info="this is jQuery">goolge.com</a></p>
<button>Show href Value</button>
</body>