사용자 도구

사이트 도구


language:jquery:jquery_참고

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
language:jquery:jquery_참고 [2021/06/05 19:16] – [.animate()] kieunslanguage:jquery:jquery_참고 [2024/04/23 22:44] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
-~~Title:jQuery 재참고 (回帰)~~+~~Title:jQuery 재참고~~
  
 jQuery를 다시 써야할때 필요한 것을 메모해둔다. jQuery를 다시 써야할때 필요한 것을 메모해둔다.
줄 88: 줄 88:
 ''box_move()'' 함수를 작성 ''box_move()'' 함수를 작성
  
-<WRAP group> 
-<WRAP half column> 
 <code javascript> <code javascript>
 function box_move() { function box_move() {
 +  // 'sample_box' 오브젝트(사용할)를 미리 찾아둔다.
   var _box = $('#sample_box');   var _box = $('#sample_box');
 +  
 +  // 기본 위치와 현재 화면의 width,height를 얻는다.
   var _pos = _box.position();   var _pos = _box.position();
   var _doc_root = $(document);   var _doc_root = $(document);
줄 98: 줄 99:
   var _doc_h = _doc_root.height();   var _doc_h = _doc_root.height();
  
 +  //_new_x, _new_y를 랜덤하게 골라둔다.
   var _new_x = get_rand_int(0, _doc_w);   var _new_x = get_rand_int(0, _doc_w);
   var _new_y = get_rand_int(0, _doc_h);   var _new_y = get_rand_int(0, _doc_h);
 +  // 'get_rand_int' 는 아래쪽에 코드를 정리했다.
  
   if (_pos.left == 50) {   if (_pos.left == 50) {
-    //_h3_a.show()_h3_b.hide();+     
 +    // left: 50px;top: 50px; <- 이부분에 변경이 가해진다.
     _box.animate(     _box.animate(
       { left: _new_x + "px",        { left: _new_x + "px", 
줄 108: 줄 112:
       200,        200, 
       "easeOutBack");       "easeOutBack");
-  +  
-  else { // 작아지는 경우+
   }   }
 } }
 </code> </code>
-</WRAP> 
  
-<WRAP half column>+===== animate() =====
  
-</WRAP+''animate()''는  
-</WRAP>+ 
 +  (html 오브젝트).animate(파라미터들) 
 + 
 +형식을 사용한다.  
 + 
 +''(html 오브젝트)'' 는 jQuery 를 사용해서 사용할 오브젝트를 찾는다. 
 + 
 +''파라미터들''은 기본만 쓰거나 좀 더 많은 옵션을 넣을 수 있게 되어 있다. 
 + 
 +===== 1번 형식 ===== 
 + 
 +<code>.animate( properties [, duration ] [, easing ] [, complete ] ) </code> 
 + 
 +  * 프로퍼티<sup>Properties</sup> : 오브젝트에서 어떤 프로퍼티<sup>Property</sup>에 애니메이션을 적용할지 적는다. 
 +    * 필수 파라미터. 
 +  * (Number or String) Duration : 애니메이션 지속 시간 
 +    * 빼도 됨. 그럴 경우 기본값 : 400. 밀리세컨. 
 +  * (String) Easing : 애니메이션 이징<sup>Easing</sup> 타입 
 +    * 빼도 됨. 그럴 경우 기본값 : ''swing'' 
 +  * (function) 완료시 호출할 함수로 구성한다. 
 +    * 빼도 됨. 그럴 경우 아무것도 안함. 기본 값: ''function() {}'' 
 + 
 +**프로퍼티 properties** 
 + 
 +''properties'' 프로퍼티 설정은 json 형태로 여러 프로퍼티를 한번에 설정할 수 있다. 
 + 
 +<code javascript> 
 +_box.animate( { left: _new_x + "px", top: _new_y + "px" }, ... ); 
 +</code> 
 + 
 +''{ 프로퍼티 : 값, 프로퍼트 : 값 }'' 형태로 값을 넣는다. 
 + 
 +**Duration** 
 + 
 +밀리세컨 단위의 숫자를 적는다. 기본값은 400.(ms) 
 + 
 +**Easing** 
 + 
 +  * 스트링형식으로 적어 보내야 하며,  
 +  * jQueryUI 를 포함시켜야 한다. 이징 파라미터가 jQueryUI 에 있음 
 + 
 +사용 가능한 이징(Easing), [[https://api.jqueryui.com/easings/|쓸 수 있는 이징 목록 볼 수 있음]] 
 + 
 +  * linear , swing , default 
 +  * easeInQuad, easeOutQuad, easeInOutQuad 
 +  * easeInCubic, easeOutCubic, easeInOutCubic 
 +  * easeInQuart, easeOutQuart, easeInOutQuart 
 +  * easeInQuint, easeOutQuint, easeInOutQuint 
 +  * easeInExpo, easeOutExpo, easeInOutExpo 
 +  * easeInSine, easeOutSine, easeInOutSine 
 +  * easeInCirc, easeOutCirc, easeInOutCirc 
 +  * easeInElastic, easeOutElastic, easeInOutElastic 
 +  * easeInBack, easeOutBack, easeInOutBack 
 +  * easeInBounce, easeOutBounce, easeInOutBounce 
 + 
 +**Complete 함수** 
 + 
 +<code>function() {}</code> 형식으로 작성해서 넣으면 될 것 같다. 
 + 
 +''_box'' 애니메이션이 끝나면 팝업이 뜨도록 complete 콜백을 추가 
 + 
 +<code javascript> 
 +_box.animate( 
 +  { left: _new_x + "px", top: _new_y + "px" }, 
 +  200, 
 +  "easeOutBack", 
 +  function() {alert('');} ); 
 +</code> 
 + 
 +===== 2번 형식 ===== 
 + 
 +<code>.animate( properties, options )</code> 
 + 
 +''options''에 map 형식으로 값을 넣는다. 아래 같은 파라미터를 넣을 수 있다. ([[https://api.jquery.com/animate/#animate-properties-options|링크]]) 안써봐서 모르겠다. 정리만 해둔다. 
 + 
 +  * duration : 움직일시간 
 +  * easing : 사용할 움직일 이징 
 +  * queue : (?) 
 +  * specialEasing : (?) 
 +  * step : 움직임이 설정된 모든 오브젝트에 대해서 호출 된다고 한다. 
 +  * ''(Function( Promise animation, Number progress, Number remainingMs))'' \\ progress : 진행상태 중에 호출되는 함수.  
 +  * ''(Function())'' \\ complete : 완료시 호출할 함수 
 +  * ''(Function( Promise animation ))'' \\ start : 애니메이션 시작시 호출할 함수 
 +  * ''(Function( Promise animation, Boolean jumpedToEnd ))'' \\ done : Promise 설정에서 완료시 호출할 함수 
 +  * ''(Function( Promise animation, Boolean jumpedToEnd ))'' \\ fail : Promise 설정에서  실패시 호출할 함수(?) 
 +  * ''(Function( Promise animation, Boolean jumpedToEnd ))'' \\ always(?) 
 + 
 +===== 그외 ===== 
 + 
 +**get_rand_int()** 
 + 
 +<code javascript> 
 +// https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math/random 
 +function get_rand_int(min, max) { 
 +  min = Math.ceil(min); 
 +  max = Math.floor(max); 
 +  return Math.floor(Math.random() * (max - min)) + min; //최댓값은 제외, 최솟값은 포함 
 +} 
 +</code>
  
  
language/jquery/jquery_참고.1622888217.txt.gz · 마지막으로 수정됨: 2024/04/23 22:43 (바깥 편집)