카테고리 없음2011. 10. 31. 19:09

iScroll을 이용하여, 특정 영역만 스크롤이 가능하게 해보자.
참고 : http://cubiq.org/iscroll
예를 들어 아래와 같은 jquery mobile을 이용하여, 만든 webapp을 구현했다고 치자.
.
.

<div data-role="page" id="page_default" data-theme="e">
.
.

<div data-role="content">

<div id="collapser" data-role="collapsible" data-collapsed="true">

<h3>검색어 입력</h3>

<input  id="enteredItemField" type="search" value="" placeholder="검색어를 입력하세요."</input>

<div data-role="controlgroup" data-type="horizontal" align="center">

<a id="enteredItemSaveButton"href="#" data-icon="star" data-role="button">검색어 저장</a>

<a id="directSearchButton"href="#" data-icon="search" data-role="button">바로 검색</a>

</div>

</div>

<ul id="ItemList" data-role="listview">

<!-- 여기에 동적으로 li가 붙는다. -->

</ul>

</div>

<!-- CONTENT END -->

</div>
.
.
1. 특정 영역만을 scroll가능도록 하기 위해서 일단 이 페이지 (#page_default) 의 스크롤링을 prevent하자.
$("#page_default").live('touchmove', function (e) { e.preventDefault(); }, false); 
2. iscroll.js를 페이지에 import하자.
<script src="./lib/iscroll.js"></script>
3. scrolling되었으면 하는 영역을 래핑하자.

<div id="wrapper">
    <div id="scroller">
        <ul id="itemList" data-role="listview">
            <li>...</li>
        </ul>
    </div>
</div>

4. wrapper를 위한 css를 내 어플에 맞게 customize하자.
#wrapper {
    position:relative;
    z-index:1;
    width:100%;
    height:350px;
    overflow:auto;
}

5. iscroll 객체를 listview dom id와 함께 인스턴싱하자.
myScvar roll = new iScroll('scroller');
결과 >> 리스트 부분만 스크롤링 된다. 

이 모든 내용은 
http://cubiq.org/iscroll 에 돔 더 자세히 잘 나와 있으니, 참고도록 하자.

Posted by 다오나무