반응형
블로그 이미지
개발자로서 현장에서 일하면서 새로 접하는 기술들이나 알게된 정보 등을 정리하기 위한 블로그입니다. 운 좋게 미국에서 큰 회사들의 프로젝트에서 컬설턴트로 일하고 있어서 새로운 기술들을 접할 기회가 많이 있습니다. 미국의 IT 프로젝트에서 사용되는 툴들에 대해 많은 분들과 정보를 공유하고 싶습니다.
솔웅

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함

카테고리

window를 생성하는 예제들...

2012. 10. 21. 02:57 | Posted by 솔웅


반응형

Examples of manipulation of windows


Switch between multiple windows thanks to swipe events


우리는 windows 들간에 이동을 하기 위해 swipe type events 를 사용합니다. Swipeleft event가 발생하면 next window 로 가도록 할 것이고 swiperight event 가 발생하면 이전 페이지로 돌아갈 겁니다. (Back button이랑 같죠)


Use the swipe events to switch between three windows


<!DOCTYPE html>

<html> 

<head> 

  <meta name=viewport content="user-scalable=no,width=device-width" />

  <link rel=stylesheet href=jquery.mobile/jquery.mobile.css />

  <script src=jquery.js></script>

  <script src=jquery.mobile/jquery.mobile.js></script>

</head> 


<body> 


<div data-role=page id=home>

  <div data-role=header>

    <h1>Home</h1>

  </div>


  <div data-role=content>

    <p> Window content 1 </p>  

  </div>

</div>


<div data-role=page id=win2>

  <div data-role=header>

    <h1>Window 2</h1>

  </div>


  <div data-role=content>

    <p> Window content 2 </p>  

  </div>

</div>


<div data-role=page id=win3>

  <div data-role=header>

    <h1>Window 3</h1>

  </div>


  <div data-role=content>

    <p> Window content 3 </p>  

  </div>

</div>


</body>

</html>


<script>


$("div:jqmData(role=page)").bind ("swipeleft", function (event)

{

  var id = this.id;

  var next;   // id of the next visible window

  if (id == "home") next = "win2";

  else if (id == "win2") next = "win3";

  if (next) $.mobile.changePage ($("#" + next), 

  

    transition : "slide" 

  });

});


$("div:jqmData(role=page)").bind ("swiperight", function (event)

{

  var id = this.id;

  var next;   // id of the next visible window

  if (id == "win2") next = "home";

  else if (id == "win3") next = "win2";

  if (next) $.mobile.changePage ($("#" + next), 

  

    transition : "slide",

    reverse : true

  });

});


</script>




tistory415_01.html


swiperight event가 진행되는 중에 $.mobile.changePage ()안에 reverse option을  true로 세팅합니다.  그렇게 하면 이 swiperight event 가 발생하면 이전페이지로 갈 수 있게 되죠. 만약 우리가 slide transition 만 사용한다면 우리가 next window 로 갈 때와 같이 scrolling effect 를 사용하겠죠. 이전 페이지로 돌아가는 것처럼 화면이동이 이루어지게 하려면 reverse option을 true로 세팅해야 합니다.


Create a window and display it dynamically


이제 이전 샘플 코드를 좀 더 발전시켜 볼까요. 이전 window에서 click 이 일어났을 때 dynamic 하게 window를 생성하고 display 하는게 이전 예제였다면 이제는 이전 window 에서 click 없이 dynamic 하게 window를 생성하고 display 하도록 하겠습니다.



Directly display a window created dynamically


<!DOCTYPE html>

<html> 

<head> 

  <meta name=viewport content="user-scalable=no,width=device-width" />

  <link rel=stylesheet href=jquery.mobile/jquery.mobile.css />

  <script src=jquery.js></script>

  <script src=jquery.mobile/jquery.mobile.js></script>

</head> 


<body> 


<div data-role=page id=home>

  <div data-role=header>

    <h1>Home</h1>

  </div>


  <div data-role=content>

    <p> Window content 1 </p>  

    <a href=#win2 id=link1 data-role=button> Goto Window 2 </a>

  </div>

</div>


</body>

</html>


<script>


var html = "";

html += "<div data-role=page id=win2 data-add-back-btn=true>";

html +=   "<div data-role=header>";

html +=     "<h1>Window 2</h1>";

html +=   "</div>"

html +=   "<div data-role=content>";

html +=     "<p> Window content 2 </p>";

html +=   "</div>";

html += "</div>";


$("body").append (html);


$("#home").bind ("pagecreate", function (event)

{

  $.mobile.changePage ($("#win2"));

});


</script>



두번째 window의 HTML code 는 DOM tree 안에서 application이 시작할 때 insert 됩니다. 그리고나서 첫번째 window의 생성 마지막 단계에서(pagecreate event) 두번째 window 가 display 됩니다. 첫번째 window 의 create 를 기다리지 않는다면 두 윈도우간의 transition 은 발생하지 않을 겁니다.




tistory415_02.html




반응형