onnnzeoz
article thumbnail

 

▶ animate 활용해서 객체 움직이기

제공하는 함수로는 모든 움직임을 만들 수 없기 때문에 사용한다

$('#special').on('click',function(){
            $('#obj').animate({
                'left':'+=500',
                'width' : '-=50',
                'height' : '-=50',
                'opacity' : '-0.5'
                
            },1500, 'linear', function(){
                alert('animation is done');
            });
        });

{}중괄호 안에 들어있는 속성들을 params라고 부른다, css에서 정의할 수 있는 속성들을 의미한다

애니매이션 결과로 나타날 형태를 params를 통해 지정해준다

 

 Method Chaining 함수 체이닝
- 각 기능들이 연결 된 것처럼 맞물려서 연속적으로 일어남

앞에서 실행한 결과값을 가지고 연속으로 실행된다

$('#step').on('click',function(){
            $('#obj').animate({'left':'+=500'},'slow')
                .animate({'top':'+=500'},'slow')
                .animate({'left':'-=500'},'slow')
                .animate({'top':'-=500'},'slow');
        });

이런거 다 라이브러리에 나와있음! 나중엔 그런거 쓰기 :)

이렇게 이동하기 위해선 객체의 position : absolute 필수 (움직여야 하니까!)

 

요소가 마우스 찍는 곳으로 이동하는 애니매이션

html문서를 기준으로 움직이는 놈 page x,y

모니터 내 기준으로 움직이는 놈 screen x,y

browser를 기준으로 움직이는 놈 client x,y

마우스 찍는 곳의 좌표를 알기 위해서 e.clientX와Y를 이용해줌

$(document).on('click',function(e){
			//문서 전체 어디든 클릭하면 그곳의 x,y좌표가 console에 찍힘
            console.log(e.clientX+ '/' + e.clientY);
            //이렇게 확인하고 나면 움직이고 싶은 객체에 animate기능 거리
            $('#obj').animate({'top':e.clientY,'left':e.clientX},'slow','swing');
            
        });

마우스가 움직일 때마다 따라다니는 요소 만들기

//mousemove는 빠른 시간 내에 이벤트 일어나므로 굳이 애니메이션 필요x
        $(document).mousemove(function(e){
            $('#follow').css({'top':e.clientY,'left':e.clientX});
        });

 

▶ jquery slide from botton to top 아래에서 위로 슬라이드 하는 법

위로 올라가는 기능은 없어서 만들어야되는데

방법 : 길이를 늘리는데 아래로만 늘어나니까 위치 자체도 위로 올려버림

ㅋㅋㅋㅋ..... 어이없다 요소 위에 흰색 박스 만들어서 걔를 내려버릴까 생각했던 

나의 생각보다도 훨씬 어이없어

그리고 마우스를 뗐을 땐 위치가 그대로여야 하니까 반대로 길이는 줄이고 위치도 원래 자리로 내려야함!

$('div').hover(function(){
				//길이 늘리고 위치 올리고
                $(this).animate({'height': 200, 'top':50},'slow','swing'); 
            }, function(){
            	//길이 원상태 복귀, 위치 원상태 복귀
                $(this).animate({'height': 50, 'top':200},'slow','swing');
            });

 서버에서 주는 데이터를 받아서 뿌리는 역할

가져올 때 list로 가져옴 가져와서 붙일 때 사용하는 기능들

$(셀렉터).append( “추가 내용” ); // 선택한 요소 내 마지막 요소에 추가, 가장 많이 쓰임, 자식으로서 뒤에 붙음
$(셀렉터).prepend(“변경 내용” ); // 선택한 요소 내 시작점에 추가, 자식으로서 앞에 붙음
$(셀렉터).after(“변경 내용” ); // 선택한 요소의 바로 뒷 부분에 추가, 형제로서 뒤에 붙음
$(셀렉터).before(“변경 내용” );// 선택한 요소의 바로 앞 부분에 추가, 형제로서 앞에 붙음

var i = 1;

        var $btn = $('button');
        //지정한 요소의 자식중 가장 마지막에
        $btn.eq(0).on('click',function(){
            i++;
            $('ol').append('<li>List item'+i+'</li>');
        });

        //지정한 요소의 자식중 가장 처음에
        $btn.eq(1).on('click',function(){
            i++;
            $('ol').prepend('<li>List item'+i+'</li>');
        });

        //지정한 요소의 가장 나중에
        $btn.eq(2).on('click',function(){
            i++;
            $('ol').after('<li>List item'+i+'</li>');
        });

        //지정한 요소의 가장 처음에
        $btn.eq(3).on('click',function(){
            i++;
            $('ol').before('<li>List item'+i+'</li>');
        });
 

▶ 테이블의 자식 요소 마지막 값에 input 값 넣어주기

expected result : 위 상태에서 input에 값들을 넣어주고 입력버튼을 누르면 테이블 마지막에 붙는다

for문과 append 이용

$('button').on('click', function(){ //버튼요소 가져와서 click이벤트 넣어주고
            var $input = $('input[type="text"]'); //type이 text인 input 배열로 가져옴
            var html = '<tr>'; //테이블의 시작인 <tr>을 html 변수에 넣었음
            for(var i=0;i<$input.length;i++){ //for문으로 i값이 배열의 길이만큼 반복하게 함
                html += '<th>'+$input.eq(i).val()+'</th>'; 
                //반복하면서 html에 '<th>'+$input.eq(i).val()+'</th>'을 계속 더해줄거임
                //그럼 칸마다 input의 값들이 들어가겠지
            }
            html += '</tr>'; //마지막으로 </tr>까지 넣어주고
            $('tbody').append(html); //tbody에 html을 붙여줘~~~
        })
 

▶ 요소 삭제

$(...).remove(); // 선택한 요소와 하위 요소도 모두 삭제 (아예 사라짐)
$(...).empty(); // 선택한 요소의 하위 요소만 삭제(비워 냄)

 

▶ 요소 면적

여기서 element의 width가 200px이고 padding이 10px일 때

element와 padding의 합은 몇일까요

ㅋㅋ210?아니다.....무려220px이다

padding은 좌우가 들어가서 2번 쳐줘야한다

마찬가지로 상하 좌우 모두 조심하기 

신경 안쓰면 나중에 뭔~가 안맞게 나올 수 있음 쌉손해

위의 사진에서 밑에사진처럼 만드려면 : line-height :45px 줘야함

 

JAVA : 남의 것을 사용하기 편하게

▶ 특징

객체지향프로그램 : 프로그래밍 소스를 부품처럼 사용한 것 (남의 소스를 부품처럼 가져다 써서 빠르게 개발해서 하드웨어의 개발 속도를 따라가자)

이식성이 높다(안드로이드와 IOS는 낮음)

오픈소스 라이브러리가 풍부하다

 

 자바는 오라클에서 관리중

컴퓨터가 읽을 수 있는 파일 : 바이너리 폴더?

글서 bin이라는 폴더가 있으면 거기에 실행파일이 있음

 

 에디터와 ide의 차이

에디터: 메모장같은, 그냥 읽고 저장하고

ide: 작성할 수 있고, 실행할 수 있고, 실행가능한 파일으로 만들어줌

 

▶ Scope : 변수가 선언된 코드블록 바깥쪽에서는 변수 사용 불가능

public class Scope {
	String st = "Some txt";
	public static void main(String[] args) {
		// TODO Auto-generated method stub
	int num = 123; //method 안에서 사용 가능
	
	for (int i =0; i<3;i++) {//i는for문 밖을 나갈 수 없다
		int sum = num +1; //sum은 이 블록 밖에 나갈 수 없다
		
		System.out.println(sum);
		
	}
	//System.out.println(sum);
	}

}

 

▶ Casting : 자료형의 변환해주는 것
이것을 형 변환(Casting) 이라고 부른다.

작은 컵의 내용물을 큰 컵에 넣을 땐 : 묵시적 형변환 (절차x) : promotion 프로모션

큰 컵의 내용물을 작은 컵에 넣을 땐 : 명시적 형변환 (절차o) : casting 캐스팅

 

▶int가 어캐 문자열로 변함?

:아스키코드 덕분에 가능한것, j에 74라는게 저장되어있음

 

profile

onnnzeoz

@onnnzeoz

비전공자의 개발 공부 일지입니다 💦 국비 풀스택 과정 수강중