Index
14. jQuery Mobile 아이콘(data-icon, data-iconpos, 사용자 정의 아이콘)
15. jQuery Mobile 리스트
17. jQuery Mobile Collapsible 블록
jQuery Mobile 은 HTML 목록 태그인 <ul>, <ol>을 사용해서 리스트를 만든다.
jQuery Mobile 에서 제공하는 리스트 형태 중에서 가장 기본적인 형태로서 <ul data-role="listview"> 로 정의한다. 리스트의 각 항목은 <li>태그로 표현한다.
<ul data-role="listview">
<li>list 0</li>
<li>list 1</li>
<li>list 2</li>
<li>list 3</li>
<li>list 4</li>
<li>list 5</li>
</ul>
</div>
리스트에 표시되는 항목 앞에 순차번호를 붙이기 위해서는 <ol>태그를 사용한다.
<div data-role="content">
<ol data-role="listview">
<li>list 0</li>
<li>list 1</li>
<li>list 2</li>
<li>list 3</li>
<li>list 4</li>
<li>list 5</li>
</ol>
</div>
<li>태그에 <a>태그를 넣으면 해당항목을 탭할 수 있다. 이 경우에 우측에 화살표(arrow-r)아이콘이 표시된다. 디폴트로 표시되는 아이콘을 변경하고 싶으면 <a>태그에 data-icon 속성을 추가한다. 선택가능한 아이콘은 "jQuery Mobile 아이콘"를 참조
<div data-role="content"> <ul data-role="listview"> <li><a href="#">list 0</a></li> <li><a href="#">list 1</a></li> <li><a href="#">list 2</a></li> <li><a href="#">list 3</a></li> <li><a href="#">list 4</a></li> <li><a href="#">list 5</a></li> </ul> </div>
생성된 리스트의 상하좌우에 여백을 주고 싶을 때는 <ul>태그에 data-inset="true" 속성을 추가한다.
<div data-role="content"> <ul data-role="listview" data-inset="true"> <li><a href="#">list 0</a></li> <li><a href="#">list 1</a></li> <li><a href="#">list 2</a></li> <li><a href="#">list 3</a></li> <li><a href="#">list 4</a></li> <li><a href="#">list 5</a></li> </ul> </div>
리스트의 항목을 그룹핑해서 구분하는 항목 구분자를 추가할 수 있다. 방법은 <li>태그에 data-role="list-divider" 속성을 추가하면 된다. <div data-role="content"> <ul data-role="listview" data-inset="true"> <li data-role="list-divider">항목1</li> <li><a href="#">list 0</a></li> <li><a href="#">list 1</a></li> <li data-role="list-divider">항목2</li> <li><a href="#">list 2</a></li> <li><a href="#">list 3</a></li> </ul> </div>
jQuery Mobile 리스트는 리스트 항목을 검색할 수 있는 기능을 제공한다. 검색가능한 리스트로 만들기 위해서는 data-filter="true" 속성을 <ul>태그에 추가한다. <div data-role="content"> <ul data-role="listview" data-inset="true" data-filter="true"> <li><a href="#">list 1</a></li> <li><a href="#">list 2</a></li> <li><a href="#">list 3</a></li> <li><a href="#">list 4</a></li> </ul> </div> 필터링하기전 모습 필터링한 모습 지금까지의 리스트들은 리스트 항목 전체에 링크가 걸려서 아무곳이나 탭해도 이동을 했다. 이와는 다르게 항목을 두개 영역으로 나누어서 왼쪽에는 정보를 표시하고 오른쪽에는 버튼을 표시한다. 방법은 <li>태그에 두개의 <a>태그를 넣어주면 두번째 <a>태그가 Split 버튼으로 만들어진다. 두번째 <a>태그로 감싸는 텍스트는 Split 버튼 위에 마우스를 두었을때 나타나는 풍선도움말에 표시된다. Split 버튼의 아이콘은 기본적으로 우측 화살표가 표시된다.
<div data-role="content"> <ul data-role="listview" data-inset="true"> <li><a href="#">list 1</a><a href="#">Split Button</a></li> <li><a href="#">list 2</a><a href="#">Split Button</a></li> <li><a href="#">list 3</a><a href="#">Split Button</a></li> <li><a href="#">list 4</a><a href="#">Split Button</a></li> </ul> </div>
아이콘을 변경하기 위해서는 <ul>태그에 data-split-icon="아이콘명" 속성을 추가한다. 선택가능한 아이콘은 "jQuery Mobile 아이콘"를 참조
<div data-role="content"> <ul data-role="listview" data-inset="true" data-split-icon="plus"> <li><a href="#">list 1</a><a href="#">Split Button</a></li> <li><a href="#">list 2</a><a href="#">Split Button</a></li> <li><a href="#">list 3</a><a href="#">Split Button</a></li> <li><a href="#">list 4</a><a href="#">Split Button</a></li> </ul> </div>
jQuery Mobile 리스트의 항목에 썸네일을 추가하기 위해서는 <a>태그 맨 앞에 <img>태그를 추가하면 된다. jQuery Mobile은 80x80 픽셀로 이미지 사이즈를 자동으로 조정한다. 큰 이미지를 지정해도 80x80 사이즈로 조정된다. 단, 80x80 보다 작은 이미지는 커지지 않고 남는 공간은 빈 공간이 생긴다. <div data-role="content"> <ul data-role="listview" data-inset="true"> <li><a href="#"><img src="/car/thumbnail.png">list 1</a><a href="#">Split Button</a></li> <li><a href="#"><img src="/car/thumbnail.png">list 2</a><a href="#">Split Button</a></li> <li><a href="#"><img src="/car/thumbnail.png">list 3</a><a href="#">Split Button</a></li> </ul> </div>
jQuery Mobile 리스트의 항목에 아이콘을 추가하기 위해서는 <a>태그 맨 앞에 <img class="ui-li-icon">태그를 추가하면 된다. jQuery Mobile은 아이콘의 사이즈로 12x12 를 사용한다.jQuery Mobile은 12x12 픽셀로 이미지 사이즈를 자동으로 조정한다. 큰 이미지를 지정해도 12x12 사이즈로 조정된다. 단, 12x12 보다 작은 이미지는 커지지 않는다. <div data-role="content"> <ul data-role="listview" data-inset="true"> <li><a href="#"><img src="/car/thumbnail.png" class="ui-li-icon">list 1</a><a href="#">Split Button</a></li> <li><a href="#"><img src="/car/thumbnail.png" class="ui-li-icon">list 2</a><a href="#">Split Button</a></li> <li><a href="#"><img src="/car/thumbnail.png" class="ui-li-icon">list 3</a><a href="#">Split Button</a></li> </ul> </div>
jQuery Mobile 리스트의 항목에는 카운트 버블을 표시할 수 있다. 카운트 버블은 해당 항목의 컨텐츠 갯수 또는 조회수 등을 표시하는데 사용할 수 있다. 카운트 버블에는 숫자 및 문자열도 가능하다.카운트 버블을 표시하기 위해서는 <li>태그에 <span class="ui-li-count">를 추가하면 된다. <div data-role="content"> <ul data-role="listview" data-inset="true"> <li data-role="list-divider" >구분1<span class="ui-li-count">2</span></li> </ul> </div>
jQuery Mobile 은 리스트의 항목의 내용을 다양한 방법으로 표현할 수 있도록 해준다. 제목은 <h>태그로 표시, 내용은 <p>태그로 표시할 수 있다. 강조는 <strong>태그를 사용하면 된다. 항목표시영역의 우측 상단에는 특정 내용을 표시하기 위해서는 <p>태그에 class="ui-li-aside" 속성을 추가한다.
<div data-role="content"> <ul data-role="listview" data-inset="true"> <li data-role="list-divider" >구분1<span class="ui-li-count">2</span></li> </ul> </div>
jQuery Mobile 리스트는 중첩 리스트 표현이 가능하다. 중첩 리스트는 리스트항목 하위에 새로운 리스트가 있는 구조로 계층 구조의 데이터를 표현할 때 사용할 수 있다. 중첩 리스트의 표현은 <li>태그 안에 <ul>태그를 넣음으로써 표현이 가능하다. <ul>태그를 가지고 중첩 리스트를 표현하면 jQuery Mobile은 내부적으로 하위 리스트에 자동으로 page, header, footer 영역을 추가한다. <div data-role="content"> <ul data-role="listview" data-inset="true"> <li>list 0 <ul> <li>list 0-1</li> <li>list 0-2</li> </ul>
<li><a href="#">list 1<span class="ui-li-count">IT</span></a></li>
<li><a href="#">list 2<span class="ui-li-count">자전거</span></a></li>
<li data-role="list-divider" >구분2<span class="ui-li-count">1</span></li>
<li><a href="#">list 3<span class="ui-li-count">자동차</span></a></li>
<li><a href="#"><h3>텍스트서식</h3>
<p>다양하고 체계적으로 표현하기 위한 서식 규칙을 제공한다.</p>
<p class="ui-li-aside">02:30 AM</p>
</a></li>
<li><a href="#"><h3>텍스트서식</h3>
<p>다양하고 체계적으로 표현하기 위한 서식 규칙을 제공한다.</p>
<p class="ui-li-aside">02:30 AM</p>
</a></li>
<li data-role="list-divider" >구분2<span class="ui-li-count">1</span></li>
<li><a href="#"><h3>텍스트서식</h3>
<p>다양하고 체계적으로 표현하기 위한 서식 규칙을 제공한다.</p>
<p class="ui-li-aside">02:30 AM</p>
</a></li>
</li>
<li>list 1</li>
<li>list 2
<ul>
<li>list 2-1</li>
<li>list 2-2</li>
</ul>
</li>
</ul>
</div>
리스트 list 0 항목을 선택해서 중첩 리스트를 연 상태
<ul data-role="listview">에 사용할 수 있는 data-* 속성
data-* 속성 |
설명 |
값 |
data-count-theme |
카운트 버블 테마 |
swatch letter (a-z) |
data-divider-theme |
항목 구분자 테마 |
swatch letter (a-z) |
data-filter |
필터링하기 위한 검색 입력란 추가 |
true | false (default) |
data-filter-placeholder |
검색 입력란의 힌트 문자열 |
string |
data-filter-theme |
검색 입력란의 테마 |
swatch letter (a-z) |
data-inset |
여백 주기 |
true | false (default) |
data-split-icon |
Split 버튼 아이콘 |
home|delete|plus|arrow-u|arrow-d|check |gear|grid|star|custom|arrow-r|arrow-l |minus|refresh|forward|back|alert|info|search |
data-theme |
리스트 테마 |
swatch letter(a-z) |
<li>에 사용할 수 있는 data-* 속성
data-* 속성 |
설명 |
값 |
data-icon |
링크도 항목 오른쪽 끝 아이콘 |
home|delete|plus|arrow-u|arrow-d|check |gear|grid|star|custom|arrow-r|arrow-l |minus|refresh|forward|back|alert|info|search |
data-role |
항목 구분자 여부 |
list-divider |
data-theme |
항목 테마 |
swatch letter(a-z) |
'프로그램 > jQuery Mobile' 카테고리의 다른 글
17. jQuery Mobile Collapsible 블록 (0) | 2013.12.21 |
---|---|
16. jQuery Mobile 그리드 레이아웃 (0) | 2013.12.18 |
14. jQuery Mobile 아이콘(data-icon, data-iconpos, 사용자 정의 아이콘) (0) | 2013.12.15 |
13. jQuery Mobile 공통 푸터바 (0) | 2013.12.14 |
12. jQuery Mobile 툴바(내비게이션바) (0) | 2013.12.12 |