본문 바로가기

공부일지

231018 (jQuery)

예시 7. fade 메소드

  • fadeIn, fadeOut, fadeToggle(지속 시간, 사라지는 방법, 끝난 후 동작)
    • 지속 시간은 밀리 초 단위, fast는 200, slow는 600, 기본 값은 400
    • 사라지는 방법은 swing, linear가 있고 기본 값은 swing
    • swing은 가속 감속이 있는 사라짐, linear는 정속 사라짐
    • 끝난 후 동작은 함수가 들어간다.
  • fadeTo(지속 시간, 투명도, 끝난 후 동작)
    • 지속 시간과 끝난 후 동작은 fade 기능과 같고 투명도만 다르다
    • 투명도는 0~1 사이의 값
<html>

<head>
	<meta charset="UTF-8">
	<script src="https://code.jquery.com/jquery-3.7.1.js"></script>
	<style>
		div {
			width: 80px;
			height: 80px;
			display: none;
		}
	</style>
</head>

<body>
	<button id="visible">Fade In</button>
	<button id="invisible">Fade Out</button>
	<button id="onOff">Fade Toggle</button>
	<img src="media/btn.png" width="50px" height="50px"></img>
	<div style="background-color: red;"></div>
	<div style="background-color: green;"></div>
	<div style="background-color: blue;"></div>
</body>
<script>
	$("button").click(function () {
		var txt = $(this).text();
		console.log(txt);
	});

	$("#visible").click(function () {
		$("div").first().fadeIn("fast", function () {
			$(this).next("div").fadeIn("fast", function () {
				$(this).next("div").fadeIn("fast");
			});
		});
	});

	$("#invisible").click(function () {
		$("div").first().fadeOut("slow", function showNext() {
			$(this).next("div").fadeOut("slow", showNext);
		});
	});

	$("#onOff").click(function () {
		$("div").first().fadeToggle("slow", function showNext() {
			$(this).next("div").fadeToggle("slow", showNext);
		});
	});

	$("img").hover(function () {
		$("img").fadeTo("slow", 0.15, function(){
			$("img").attr("src","media/btn2.png");
		});
	},function(){
		$("img").fadeTo("slow", 1, function(){
			$("img").attr("src","media/btn.png");
		});
	});
</script>

</html>

 

 

예시 8. slide 메소드

  • slideUp, slideDown, slideToggle(지속 시간, 사라지는 방법, 끝난 후 동작)
    • 지속 시간은 밀리 초 단위, fast는 200, slow는 600, 기본 값은 400
    • 사라지는 방법은 swing, linear가 있고 기본 값은 swing
    • swing은 가속 감속이 있는 이동, linear는 정속 이동
    • 끝난 후 동작은 함수가 들어간다.
  • slide는 위에서 아래로 생겨나고 아래에서 위로 사라지는 방식으로 동작한다.
<html>

<head>
	<meta charset="UTF-8">
	<script src="https://code.jquery.com/jquery-3.7.1.js"></script>
	<style>
		div {
			padding: 5px;
			text-align: center;
			background-color: #e5eecc;
			border: solid 1px #c3c3c3;
		}

		.panel {
			padding: 50px;
			display: none;
		}
	</style>
</head>

<body>
	<div id="flip">클릭하면, 아래로 메뉴가 나타납니다.</div>
	<div class="panel" id="p1">서브메뉴 입니다.</div>
	<div id="flip2">토글 메뉴입니다.</div>
	<div class="panel" id="p2">서브메뉴 입니다.</div>
</body>
<script>
	$("#flip").click(function () {
		var vision = $("#p1").css("display");
		if (vision == "none") {
			$("#p1").slideDown("slow", function () {
				$("#flip").text("클릭하면, 메뉴가 위로 올라갑니다.");
			});
		} else {
			$("#p1").slideUp("slow", function () {
				$("#flip").text("클릭하면, 아래로 메뉴가 나타납니다.");
			});
		}
	});

	$("#flip2").click(function () {
		$("#p2").slideToggle("fast", function () {
			var vision = $("#p2").css("display");
			console.log(vision);
			if (vision == "none") {
				$("#flip2").text("토글 - 다운");
			} else {
				$("#flip2").text("토글 - 업");
			}
		});
	});
</script>

</html>

 

 

 

예시 9. animate 메소드

  • animate() : 애니메이션 동작을 실행한다.
  • animate(속성, 지속 시간, 동작 방법, 끝난 후 동작)
    • 속성에는 애니메이션으로 동작할 내용을 지정한다.
    • 속성은일반적으로 중괄호 내부에 작성한다.
      • {”속성 종류” : “변화 방법”}
      • {속성 종류 : ”변화 방법” , 속성 종류 : [”변화 방법”, “변화 방법”] }
      • 변화 방법이 여러가지라면 변화 방법들을 대괄호로 묶어준다.
    • 지속 시간은 밀리 초 단위, fast는 200, slow는 600, 기본 값은 400
    • 동작 방법은 swing, linear가 있고 기본 값은 swing
    • swing은 가속 감속이 있는 이동, linear는 정속 이동
    • 끝난 후 동작은 함수가 들어간다.
  • 메소드 뒤에 메소드를 연결한다면 동일한 대상에 대해 앞의 메소드 실행 후 뒤의 메소드를 실행한다.
<html>

<head>
	<meta charset="UTF-8">
	<script src="https://code.jquery.com/jquery-3.7.1.js"></script>
	<style>
		div {
			position: absolute;
			background-color: yellow;
			left: 5px;
			width: 90px;
			height: 90px;
			margin: 5px;
		}
	</style>
</head>

<body>
	<button id="left">◀</button>
	<button id="right">▶</button>
	<button id="stop">■</button>
	<button id="special">★</button>
	<button id="step">step</button>
	<div id="obj"></div>
</body>
<script>
	$("#right").click(function () {
		$("#obj").animate({"left": "+=1000"}, "slow", "swing");
	});

	$("#left").click(function () {
		$("#obj").animate({"left": "-=1000"}, "slow", "swing");
	});

	$("#stop").click(function () {
		$("#obj").stop();
	});
	
	$("#special").click(function () {
		$("#obj").animate({
			width: ["toggle","swing"],
			height: ["toggle","swing"],
			opacity: "toggle"
		}, 1500, "linear", function(){
			alert("애니메이션 끝")
		});
	});
	$("#step").click(function () {
		$("#obj").animate({"left": "+=500"},"slow").animate({"top": "+=500"},"slow").animate({"left": "-=500"},"slow").animate({"top": "-=400"},"slow");
	});
	
</script>

</html>

 

 

 

예시 10. txt와 html, 가상선택자

  • 태그 정보를 변수에 담을 수 있다.(var a = $(:radio);)
  • :radio 콜론이 들어간 태그는 가상 선택자. 라디오 버튼 관련 요소를 모두 저장한다.
  • txt와 html의 차이 : txt는 문자열만 대입, html은 문자열과 태그 모두 대입한다.
  • .attr(”속성”) 메소드 : 해당 요소에서 속성에 해당하는 값을 가져온다.
<html>

<head>
	<meta charset="UTF-8">
	<script src="https://code.jquery.com/jquery-3.7.1.js"></script>
	<style>
	</style>
</head>

<body>
	<input type="text" value="some text" />
	<p>문자가 쓰여진 <b>강조된</b> 영역</p>
	<span id="txt"></span>
	<span id="html"></span>
	<fieldset>
		<legend>숫자 입력</legend>
		RANGE(0~100):
		<input id="point" type="range" min="0" max="100" value="30" step=1>
		당신이 선택한 값
		<span id="msg"></span>
		<br>
		<button id="inc">증가</button>
		<button id="dec">감소</button>
	</fieldset>
	<fieldset>
		<legend>라디오 버튼</legend>
		<div>
			<input name="front" type="radio" value="HTML"/>
			HTML
		</div>
		<div>
			<input name="front" type="radio" value="CSS"/>
			CSS
		</div>
		<div>
			<input name="front" type="radio" value="JS"/>
			JS
		</div>
		<span id="selected">선택값 없음</span>
	</fieldset>
</body>
<script>
	var radio = $(":radio");
	console.log(radio);
	
	$(radio).click(function () {
		var val = $(this).val();
		$("#selected").html("당신의 선택값:"+val);
	});
	
	var i = $("#point").val();
	
	$("#inc").click(function () {
		i++;
		$("#point").val(i);
		$("#msg").html(i);
	});

	$("#dec").click(function () {
		i--;
		$("#point").val(i);
		$("#msg").html(i);
	});
	
	$("#point").change(function () {
		var val = $(this).val();
		i=val;
		console.log(val);
		$("#msg").html(val);
	});
	
	var txt = $("p").text();
	var html =  $("p").html();
	console.log(txt);
	console.log(html);
	$("#txt").text("<h1>HTML과 TXT 차이</h1>");
	$("#html").html("<h1>HTML과 TXT 차이</h1>");
	var attr = $("input").attr("type");
	var val = $("input").val();
	console.log(attr);
	console.log(val);
	//$("input").attr("type","password");
</script>

</html>

 

 

 

예시 11. attr 메소드

  • .attr(”속성”) 메소드 : 해당 요소에서 속성에 해당하는 값을 가져온다.
  • .attr(”속성”, ”값”) 메소드 : 해당 요소에서 속성에 해당하는 값을 값으로 변경한다.
<html>

<head>
	<meta charset="UTF-8">
	<title>J-Query</title>
	<script src="https://code.jquery.com/jquery-3.7.1.js"></script>
	<style>
	</style>
</head>

<body>

	<p id="test1">문자열 1</p>
	<p id="test2">문자열 1</p>
	<input id="test3" type="text" value="홍길동" />
	<input id="test4" type="text" value="비밀번호" />
	<br />
	<button>속성 변경</button>
</body>
<script>
	$("#test1").text("변경된 문자열");
	$("#test2").html("<b>변경된 문자열</b>");
	$("button").click(function () {
		$("#test3").attr("type","button");
		$("#test3").attr("onclick","alert('ok')");
		$("#test4").attr("type","password");
	});
</script>

</html>

 

 

 

예시 12. ready 메소드의 사용

  • attr() 메소드를 사용해 링크의 변경
  • .ready의 사용 : 쓰는 것이 일반적이다. 쓰지 않아도 동작하지만 브라우저 호환성으로 동작하는 것
<html>

<head>
	<meta charset="UTF-8">
	<script src="https://code.jquery.com/jquery-3.7.1.js"></script>
	<style>
	</style>
</head>

<body>
	<p>ID: <input type="text" id="test" value=""/><button id="goLink">확인</button></p>
	<a href="#">링크 이동</a>
</body>
<script>
	$(document).ready(function () {
		$("#goLink").click(function () {
			var userId = $("#test").val();
			if (userId == "admin") {
				$("a").attr("href", "http://www.icia.or.kr");
			} else {
				$("a").attr("href", "http://www.google.co.kr");
			}
		});
	});
</script>

</html>

 

 

 

예시 13. li 태그의 메소드들

  • append() : 해당 태그의 내부에 있는 리스트의 마지막 줄에 li를 추가한다.
  • prepend() : 해당 태그의 내부에 있는 리스트의 마지막 줄에 li를 추가한다.
  • before() : 해당 태그가 포함된 리스트에서 태그 앞에 li를 추가한다.
  • after() : 해당 태그가 포함된 리스트에서 태그 뒤에 li를 추가한다.
<html>

<head>
	<meta charset="UTF-8">
	<script src="https://code.jquery.com/jquery-3.7.1.js"></script>
	<style>
	</style>
</head>

<body>
	<ol>
		<li>List item 1</li>
	</ol>
	<button id="apnd">Append</button>
	<button id="ppnd">prepend</button>
	<button id="bef">Bdfore</button>
	<button id="aft">After</button>
</body>
<script>
	var i = 1;

	$("#apnd").click(function () {
		i++;
		$("ol").append("<li>List item " + i + "</li>");
	});
	$("#ppnd").click(function () {
		i++;
		$("ol").prepend("<li>List item " + i + "</li>");
	});
	$("#bef").click(function () {
		i++;
		$("ol").before("<li>List item " + i + "</li>");
	});
	$("#aft").click(function () {
		i++;
		$("ol").after("<li>List item " + i + "</li>");
	});
</script>

</html>

'공부일지' 카테고리의 다른 글

231024 (Oracle)  (0) 2023.10.24
231019 (jQuery)  (0) 2023.10.19
231017 (Java)  (0) 2023.10.17
231017 (jQuery)  (1) 2023.10.17
231012 (HTML)  (0) 2023.10.12