많이 쓰임
addClass("클래스명") : 클래스 추가
removeClass("클래스명") : 클래스 제거
removeClass() : 모든 클래스 제거
toggle("클래스명") : 클래스추가+제거 번갈아가며 실행
//첫이미지에 마우스올리고 벗어날때 이벤트
$("img:eq(0)").hover(function(){
$(this).addClass("select");
},function(){
$(this).removeClass("select");
});
//2번째 toggle로 적용 //==onmouseover+onmouseout
$("img:eq(1)").hover(function(){
$(this).toggleClass("select");
});
//bs(bootstrap)의 class추가
$("img:eq(2)").hover(function(){
$(this).toggleClass("rounded-circle img-thumbnail");
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Cute+Font&family=Diphylleia&family=Dokdo&family=Nanum+Brush+Script&family=Nanum+Gothic+Coding&family=Noto+Sans+KR&display=swap" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<title>Document</title>
<style>
.select{
border: 10px inset gray;
border-radius: 30px 50px 20px 80px;
box-shadow: 5px 5px 5px gray;
cursor: pointer;
margin: 50px 50px;
}
</style>
<script>
$(function(){
//많이 쓰임
//addClass("클래스명") : 클래스 추가
//removeClass("클래스명") : 클래스 제거
//removeClass() : 모든 클래스 제거
//toggle("클래스명") : 클래스추가+제거 번갈아가며 실행
//첫이미지에 마우스올리고 벗어날때 이벤트
$("img:eq(0)").hover(function(){
$(this).addClass("select");
},function(){
$(this).removeClass("select");
});
//2번째 toggle로 적용 //==onmouseover+onmouseout
$("img:eq(1)").hover(function(){
$(this).toggleClass("select");
});
//bs(bootstrap)의 class추가
$("img:eq(2)").hover(function(){
$(this).toggleClass("rounded-circle img-thumbnail");
});
});
</script>
</head>
<body style="background-color: black;">
<h3 class="alert alert-danger">마우스를 올리면 클래스 추가, 벗어나면 제거</h3>
<img src="../연예인사진2/다운로드 (14).jpeg"><br><br>
<img src="../연예인사진2/images (2).jpeg"><br><br>
<img src="../연예인사진2/images (10).jpeg"><br><br>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Cute+Font&family=Diphylleia&family=Dokdo&family=Nanum+Brush+Script&family=Nanum+Gothic+Coding&family=Noto+Sans+KR&display=swap" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<title>Document</title>
<style>
.lunch{
width: 200px;
height: 200px;
border: 10px dashed purple;
background-image: url("../연예인사진2/images\ \(8\).jpeg");
background-size: 30px 30px;
}
</style>
</head>
<body>
<h3>addClass,removeClass,toggleClass 연습</h3>
<button type="button" class="btn btn-info" id="btn1">스타일 추가</button>
<button type="button" class="btn btn-success" id="btn2">스타일 제거</button>
<button type="button" class="btn btn-danger" id="btn3">스타일 추가/제거</button>
<div></div>
<script>
$("#btn1").click(function(){
$("div").addClass("lunch");
});
$("#btn2").click(function(){
$("div").removeClass("lunch");
});
$("#btn3").click(function(){
$("div").toggleClass("lunch");
});
</script>
</body>
</html>
attr/css 모두 값 가져올 수 있음
//모든 img태그에 마우스를 올리면 src변경
$("img").mouseover(function(){
imgName=$(this).attr("src");
$(this).attr("src","../Food/10.jpg");
});
//마우스 벗어나면 원래 사진으로 돌아가기
$("img").mouseout(function(){
$(this).attr("src",imgName);
});
//h3 _ hover이용해서 배경색 변경
$("h3").hover(function(){
$(this).css("background-color","red");
},function(){
$(this).css("background-color","white");
});
//0번 이미지를 클릭하면 2번 img의 src에 같은 이미지 넣기
// width는 attr,css 둘 다 적용 가능
$("img:eq(0)").click(function(){
var imgImi=$(this).attr("src");
var imgW=$(this).attr("width");
$("img:eq(2)").attr({
"src":imgImi,
"width":imgW
});
특정 태그 이후 추가
-append와의 차이점 - after는 태그 이후 추가/append는 태그 안에 추가
다음태그
이전태그
js의 innerHTML
js의 innerText
//irum속성 얻어서 2번 img다음에 b태그로 넣기
//after: 특정태그 이후 추가
//append: 특정태그 안에 추가
var irum=$(this).attr("irum");
$("img:eq(2)").after("<b>"+irum+"</b><br>");
});
//figure 아래 img를 클릭하면 아래 사진 4개에 나타나게 하시오
$("figure>img").click(function(){
var f1=$(this).attr("src");
$("img:gt(2)").attr("src",f1);
//클릭한 이미지 다음 태그 안의 text를 얻어서 2번째 h3에 넣기
//next() : 다음태그
//prev() : 이전태그
//html() : js 의 innerHTML
//test() : js 의 innerText
var fooName=$(this).next().text();
$("h3:eq(1)").text(fooName);
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Cute+Font&family=Diphylleia&family=Dokdo&family=Nanum+Brush+Script&family=Nanum+Gothic+Coding&family=Noto+Sans+KR&display=swap" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<title>Document</title>
<script>
$(function(){
//모든 img태그에 마우스를 올리면 src변경
/*$("img").mouseover(function(){
imgName=$(this).attr("src");
$(this).attr("src","../Food/10.jpg");
});
//마우스 벗어나면 원래 사진으로 돌아가기
$("img").mouseout(function(){
$(this).attr("src",imgName);
});*/
//h3 _ hover이용해서 배경색 변경
$("h3").hover(function(){
$(this).css("background-color","red");
},function(){
$(this).css("background-color","white");
});
//0번 이미지를 클릭하면 2번 img의 src에 같은 이미지 넣기
// width는 attr,css 둘 다 적용 가능
$("img:eq(0)").click(function(){
var imgImi=$(this).attr("src");
var imgW=$(this).attr("width");
$("img:eq(2)").attr({
"src":imgImi,
"width":imgW
});
//irum속성 얻어서 2번 img다음에 b태그로 넣기
//after: 특정태그 이후 추가
//append: 특정태그 안에 추가
var irum=$(this).attr("irum");
$("img:eq(2)").after("<b>"+irum+"</b><br>");
});
//figure 아래 img를 클릭하면 아래 사진 4개에 나타나게 하시오
$("figure>img").click(function(){
var f1=$(this).attr("src");
$("img:gt(2)").attr("src",f1);
//클릭한 이미지 다음 태그 안의 text를 얻어서 2번째 h3에 넣기
//next() : 다음태그
//prev() : 이전태그
//html() : js 의 innerHTML
//test() : js 의 innerText
var fooName=$(this).next().text();
$("h3:eq(1)").text(fooName);
});
});
</script>
</head>
<body>
<!-- 정해직 속성아니어도 임의로 만들면 속성값을 가져올수 있다 -->
<img src="../연예인사진2/냥뇽녕냥13.jpeg" width="100" irum="냥뇽녕냥">
<h3>이미지 속성 변경하기</h3>
<hr>
<figure>
<img src="../Food/1.jpg">
<figcaption>샌드위치</figcaption>
</figure>
<figure>
<img src="../Food/11.jpg">
<figcaption>망고빙수</figcaption>
</figure>
<h3>figure 아래 이미지 클릭하면 여기 아래 이미지가 바뀝니다</h3>
<img src="" alt="사진1" width="100">
<img src="" alt="사진2" width="100">
<img src="" alt="사진3" width="100">
<img src="" alt="사진4" width="100">
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Cute+Font&family=Diphylleia&family=Dokdo&family=Nanum+Brush+Script&family=Nanum+Gothic+Coding&family=Noto+Sans+KR&display=swap" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<title>Document</title>
<script>
$(function(){
//h3아래 b태그 글자색 배경 변경
$("h3 b").css({
"color":"blue",
"background-color":"cadetblue"
});
//h3아래 span도 글자체나 글자색 알아서 변경
$("h3 span").css({
"color":"cadetblue",
"font-family":"Cute Font"
});
//이벤트 : 음식명 누르면
//span에 있는 경로가 img에 음식명은 맨아래 h3에 나오게 출력
$("h3 span").click(function(){
var text=$(this).prev().prev().text();
$("h3:eq(3)").text(text);
var span=$(this).text();
$("img").attr("src",span);
});
$("h3 b").click(function(){
var text=$(this).text();
$("h3:eq(3)").text(text);
var span=$(this).next().next().text();
$("img").attr("src",span);
});
})
</script>
</head>
<body>
<h3>
<b>샌드위치</b>
<br>
<span>../Food/1.jpg</span>
</h3>
<h3>
<b>숯불꼬치구이</b>
<br>
<span>../Food/2.jpg</span>
</h3>
<h3>
<b>토마토에그모짜</b>
<br>
<span>../Food/12.jpg</span>
</h3>
<hr>
<img src="" class="photo"> <!-- 위에 span 태그에 있는 이미지 띄울 것-->
<br>
<h3></h3> <!-- 요기에 b태그에 있는 음식명 출력 -->
</body>
</html>
b태그 갯수만큼 자동 반복
i는 index: 0부터
element는 인덱스에 해당하는 태그(생략가능)
//$("b").each(function(index i,b태그를 가르키는 element(element는 안써도 됨)){
$("b").each(function(i,elt){
//$(elt).text(i); //b태그 0~5까지 반복
$(this).text(i);
});
방법1
$("ul li").each(function(idx){
$(this).addClass("bg_"+idx);
}); 밑이랑 똑같음
방법2
$("ul li").each(function(idx,ele){
$(ele).addClass("bg_"+idx);
});
하위 태그 중에서 find로 찾는 태그를 찾는다
$("ul li").mouseout(function(){
//현재 이벤트가 발생하는데 li태그의 다음 태그를 제거
//$(this).next().remove();
//find: 하위 태그 중에서 find로 b태그를 찾는다
$(this).find("b").remove();
//==$("ul li b").remove();
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Cute+Font&family=Diphylleia&family=Dokdo&family=Nanum+Brush+Script&family=Nanum+Gothic+Coding&family=Noto+Sans+KR&display=swap" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<title>Document</title>
<style>
.bg_0{background-color: aqua; color: black;}
.bg_1{background-color: blueviolet; color: white;}
.bg_2{background-color: blue; color: lightgray;}
.bg_3{background-color: brown; color: white;}
.bg_4{background-color: cadetblue; color: white;}
.bg_5{background-color: magenta; color: gray;}
</style>
</head>
<body>
<!-- 태그 반복할 때 사용하는 each문 -->
<b></b><b></b><b></b><b></b><b></b><b></b>
<script>
//b태그 갯수만큼 자동 반복
//i는 index: 0부터
//element는 인덱스에 해당하는 b 태그(생략가능)
//$("b").each(function(index i,b태그를 가르키는 element(element는 안써도 됨)){
$("b").each(function(i,elt){
//$(elt).text(i); //b태그 0~5까지 반복
$(this).text(i);
});
</script>
<hr>
<ul>
<li>사과</li>
<li>바나나</li>
<li>키위</li>
<li>오렌지</li>
<li>포도</li>
<li>자몽</li>
</ul>
<script>
// $("ul li").each(function(idx){
// $(this).addClass("bg_"+idx);
// }); 밑이랑 똑같음
$("ul li").each(function(idx,ele){
$(ele).addClass("bg_"+idx);
});
//append & after
$("ul li").mouseover(function(){
$(this).append("<b>***</b>");
});
$("ul li").mouseout(function(){
//현재 이벤트가 발생하는데 li태그의 다음 태그를 제거
//$(this).next().remove();
//find: 하위 태그 중에서 find로 b태그를 찾는다
$(this).find("b").remove();
//==$("ul li b").remove();
});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Cute+Font&family=Diphylleia&family=Dokdo&family=Nanum+Brush+Script&family=Nanum+Gothic+Coding&family=Noto+Sans+KR&display=swap" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<title>Document</title>
<style>
div{
width: 500px;
height: 150px;
text-align: center;
line-height: 150px;
font-size: 13pt;
margin-bottom: 10px;
}
.hello_0{
border: 10px groove orange;
font-family: 'Cute Font';
background-color: bisque;
color: brown;
}
.hello_1{
border: 10px groove green;
font-family: 'Diphylleia';
background-color: pink;
color: black;
}
.hello_2{
border: 10px groove gray ;
font-family: 'Dokdo';
background-color: cyan;
color: white;
}
.hello_3{
border: 10px groove magenta;
font-family: 'Cute Font';
background-color: gray;
color: chartreuse;
}
.hello_4{
border: 10px groove black;
font-family: 'Cute Font';
background-color: lightblue;
color: gray;
}
</style>
<script>
$(function(){
//적용버튼 누르면 모든 div에 인덱스별로 클래스가 적용된다
$("button:eq(0)").click(function(){
$("div").each(function(idx){
$(this).addClass("hello_"+idx);
});
});
//제거 누르면 인덱스별 적용된 클래스가 제거된다
$("button:eq(1)").click(function(){
$("div").each(function(idx){
$(this).removeClass("hello_"+idx);
});
// each문 안써도 $("div").removeClass(); 모두 제거
});
})
</script>
</head>
<body>
<button type="button" class="btn btn-outline-info">스타일 적용</button>
<button type="button" class="btn btn-outline-danger">스타일 제거</button>
<div>안녕하세요</div>
<div>오늘은 JQuery</div>
<div>반복문과 addClass를</div>
<div>배우고 있어요</div>
<div>화이팅!!!</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Cute+Font&family=Diphylleia&family=Dokdo&family=Nanum+Brush+Script&family=Nanum+Gothic+Coding&family=Noto+Sans+KR&display=swap" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<title>Document</title>
<style>
.sty{
border: 3px groove green;
border-radius: 10px;
box-shadow: 5px 5px 5px gray;
}
</style>
<script>
/* 1.스타일 시트에 클래스 하나 만들기: 보더 둥글게,섀도우(css)
밑 부터 script
2.작은이미지 사진에 쇼핑몰사진 1~10까지 차례대로넣기(each)
3.작은사진 너비,높이,보더 예쁘게 주기
4.큰사진도 알아서 스타일시트 예쁘게 주기
5.이벤트 : 작은 이미지에 마우스를 올리면 큰 사진에 나오게 한다
(작은 이미지에 마우스 올리면 1의 addClass 주고 벗어나면 원래대로) */
$(function(){
$("img:lt(9)").each(function(idx){
$(this).attr({
"src":"../쇼핑몰사진/"+(idx+1)+".jpg",
"width":"100"
});
});
$("img:last").attr("width","300").css({
"border":"3px groove gray",
"border-radius":"10px",
"box-shadow":"5px 5px 5px gray"
});
$("img:lt(9)").mouseover(function(){
$(this).addClass("sty");
var sml=$(this).attr("src");
$("img.large").attr("src",sml);
});
$("img:lt(9)").mouseout(function(){
$(this).removeClass();
});
});
</script>
</head>
<body>
<h3>0724과제물_10개이상의 이미지태그에 each문으로 사진 넣기</h3>
<img src="" class="small">
<img src="" class="small">
<img src="" class="small">
<img src="" class="small">
<img src="" class="small">
<img src="" class="small">
<img src="" class="small">
<img src="" class="small">
<img src="" class="small">
<br><br>
<img src="" class="large">
</body>
</html>