研修41日目



$:jQuery


$(コレクター)-コレクターに対応するオブジェクトを取得します.

オブジェクト。length-オブジェクトの数


$( document).ready(関数);-bodyを描画して関数を実行します.
​ = window.onload
実行順序ready......,onload
readyはonloadの前に実行

オブジェクト。on(イベントタイプ、関数);-このタイプのイベントが発生したときに関数を実行します。


オブジェクト.on(イベントタイプ、コレクタ、関数);

  • イベントをオブジェクトに割り当てます.
  • イベントが発生すると、位置がコレクタに対応する場合、関数
  • が実行される.
    $(this)-イベントターゲットオブジェクト
    実習試験
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <style type="text/css">
    .a{
    	background-color: red;
    }
    </style>
    <script type="text/javascript"
    	src="./jquery/jquery-1.12.4.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){ //body가 다 그려진 이후 함수 실행
    							  // window.onload 와 동일하나 onload 보다 선실행
    							  // 복수 선언 가능
    	$("#btn").on("click", test);
    	
    	$("#tb tbody").on("click","tr", function(){
    		alert($(this).attr("name"));
    	
    		if($(this).attr("class") =="a"){
    			$(this).removeAttr("class"); //attr 삭제시
    		} else{
    			$(this).attr("class", "a");
    		}
    		
    		$("#txt").val($(".a").length + "개");
    	});
    });
    function test(){
    	/* 기존 방식 
    		alert(document.getElementById("txt").value);
    		document.getElementByid("txt").value = "바꿨다.";
    	*/
    	
    	alert($(".d").val()); //val() : value 취득
    	$(".d").val("바꿨다"); // val(값) : value에 값 할 당
    }
    </script>
    </head>
    <body>
    
    <input type="text" id="txt" class="d"/>
    <input type="button" value ="눌렀다" id="btn"/>
    <br/>
    <table id="tb">
    	<thead>	
    		<tr>
    			<th>번호</th>
    			<th>이름</th>
    			<th>나이</th>
    		</tr>
    	<thead>
    	<tbody>
    		<tr name="1">
    			<td>1</td>
    			<td>홍길동</td>
    			<td>300살</td>
    		</tr>
    		<tr name="2">
    			<td>2</td>
    			<td>김철수</td>
    			<td>37살</td>
    		</tr>
    	</tbody>
    </table>
    </body>
    </html>
    テスト01結果

    オブジェクト。animate(オプション、時間、関数);



    関数:終了時に実行、オプション要素
    オプション:javascriptオブジェクトシェイプ
    {鍵:値
    }
    実習
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>제이쿼리 실습2일차 실습1</title>
    <style type="text/css">
    .box{
    	display: inline-block;
    	vertical-align: top;
    	width: 200px;
    	height: 200px;
    	border : 20px solid #000000;
    	background-color: rgb(0, 0, 0); 
    }
    
    html, body{
    	margin: 0;
    	height: 100%;
    }
    
    .side{
    	display: inline-block;
    	position: absolute;
    	top: 0px;
    	left: 0px;
    	width: 200px;
    	height: 100%;
    	z-index: 100;
    	box-shadow: 1px 0px 1px #000000;
    	background-color: orange;
    }
    </style>
    <script type="text/javascript"
    	src="./jquery/jquery-1.12.4.js"></script>
    <!-- 내용을 덮어 씌우기 때문에 밑에 하나 스크립트를 하나 더 만들어야한다. -->
    <script type="text/javascript">
    var r = 0;
    var g = 0;
    var b = 0;
    
    $(document).ready(function(){
    	$(".btn_wrap").on("click", "input[type='button']", function(){
    	switch ($(this).val()) {
    	case "rUp":
    		if(r < 255){
    			r += 5 ;			
    		}
    		break;
    	case "rDown":
    		if( r > 0){
    			r -= 5 ;			
    		}
    		break;
    	case "gUp":
    		if(g < 255){
    			g += 5 ;			
    		}
    		break;
    	case "gDown":
    		if( g > 0){
    			g -= 5 ;			
    		}
    		break;
    	case "bUp":
    		if(b < 255){
    			b += 5 ;			
    		}
    		break;
    	case "bDown":
    		if( b > 0){
    			b -= 5 ;			
    		}
    		break;
    	}
    		$(".box").css("background-color",
    				"rgb("+ r + ","+ g + ","+ b + ")");	
    		console.log($(".box").css("background-color"));
    	});	
    	
    	$(".btn_wrap2").on("click", "input[type='button']", function(){
    		switch($(this).val()){
    		case "show" : 
    			//보통 나타날대는 show 감출때는 fadeout 물론 상황에 따라 다름
    			//$(".box").show();
    			//$(".box").fadeIn("fast");
    			$(".box").slideDown(300);
    			break;
    		case "hide" :
    			//$(".box").hide();
    			//$(".box").fadeOut(300);
    			$(".box").slideUp(300);
    			break;
    		case "big" :
    			//console.log($(".box").width()); //패딩없음
    			//console.log($(".box").innerwidth()); //패딩포함
    			//$(".box").width($(".box").width() + 50);
    			//$(".box").height($(".box").height() + 50);
    			$(".box").animate({
    				width: "+=50px",
    				height: "+=50px",
    				opacity: "1.0"
    			}, 500);
    			break;
    		case "small" :
    			//$(".box").width($(".box").width() - 50);
    			//$(".box").height($(".box").height() - 50);
    			$(".box").animate({
    				width: "-=50px",
    				height: "-=50px",
    				opacity: "0.1"
    			}, 500);
    			break;
    		case "ani":
    			$(".box").slideUp("slow").delay(1000).slideDown("slow", function() {
    				alert("ani end!");
    			});
    			break;
    		case "aniStop":
    			$(".box").stop(); //현재 실행 중인 Animate에 대하여 처리
    			$(".box").stop(); //딜레이에 대한 스탑,
    			$(".box").stop(); // slideDown에 대한 스탑
    			break;
    		case "side":
    			$(".side").animate({
    				opacity: "1.0", 
    				left:"0px"
    			},300);
    			break;
    		}
    	});
    	$(".side").on("click", function(){
    		$(".side").animate({
    			opacity: "0.0",
    			left: "-200px"
    		},300);
    	});
    });
    </script>
    </head>
    <body>
    <div class="btn_wrap">
    	<input type="button" value="rUp"/>
    	<input type="button" value="rDown"/>
    	<input type="button" value="gUp"/>
    	<input type="button" value="gDown"/>
    	<input type="button" value="bUp"/>
    	<input type="button" value="bDown"/>
    </div>
    <div class="btn_wrap2">
    	<input type="button" value="show"/>
    	<input type="button" value="hide"/>
    	<input type="button" value="big"/>
    	<input type="button" value="small"/>
    	<input type="button" value="ani"/>
    	<input type="button" value="aniStop"/>
    	<input type="button" value="side"/>
    </div>
    <div class="box"> </div>
    <div class="side">HelloWorld</div>
    </body>
    </html>
    じっけんけっか

    アイテム


    .is(セレクタ):セレクタに対応していますか?
    .prop(データム):データム状態を返します.
    ex)checked=>checked状態.
    ※isは汎用性が高いので、isを使うことをお勧めします!

    each



    $(コレクター).each(関数);
    実習
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript"
    	src="./jquery/jquery-1.12.4.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
    	
    	$("#all").on("click", function(){
    		if($(this).is(":checked")){
    			$("#wrap input").prop("checked", true);
    		} else{
    			$("wrap input").prop("checked", false);
    		}
    		checkTxt();
    	});
    
    	$("#wrap").on("click", "[type='checkbox']", function(){
    		if($("#wrap [type='checkbox']").length
    				==$("#wrap [type='checkbox']:checked").length){
    			$("#all").prop("checked", true);
    		} else{
    			$("#all").prop("#checked", false);
    		}
    			
    		checkTxt();
    	});
    	
    	
    });//ready end
    
    function checkTxt(){
    	
    	$("#txt").val("");
    	
    	$("#wrap [type='checkbox']:checked").each(function(){
    		$("#txt").val($("#txt").val()+","+$(this).val());
    	});
    
    	$("#txt").val($("#txt").val().substring(1));
    }
    </script>
    </head>
    <body>
    <input type="checkbox" id="all"/><label for="all">전체선택</label>
    <br/>
    <div id="wrap">
    <input type="checkbox" id="c1" value="사과"/><label for="c1">사과</label>
    <input type="checkbox" id="c2" value="오렌지"/><label for="c2">오렌지</label>
    <input type="checkbox" id="c3" value=""/><label for="c3"></label>
    </div>
    <input type="text" id="txt" readonly="readonly"/>
    </body>
    </html>
    じっけんけっか

    1週間のプロジェクト会議と確定したプロジェクトをもとに、ウェブサイトを完成しました.週末にアップロードするはずです...結局は私のせいだ.