평소엔 보이다가 화면을 터치하거나 페이지를 스크롤하면 페이지 뒤로 사라지는 툴바를 구현합니다.
이를 위해 툴바 컨테이너에 data-position="fixed" 속성을 추가해 줍니다.


<div data-role="header" data-position="fixed">
	<h1>Fixed toolbars</h1>
</div>


 

'Jquery > Jquery mobile' 카테고리의 다른 글

Persistent footer nav bar  (0) 2013.03.08
Fullscreen positioning  (0) 2013.03.08
Navbars  (0) 2013.03.08
Footer bars  (0) 2013.03.07
Header bars  (0) 2013.03.07

Navbars

Jquery/Jquery mobile 2013. 3. 8. 11:16

JQM은 보통 header나 footer 안에 존재하는 바에 옵션 아이콘 5개 버튼까지 제공하는데 유용한 기본적인 navbar 위젯을 가지고 있습니다.

Navbar는 data-role=”navbar”를 가지는 컨테이너 엘리먼트로 감싸져 있는 링크들의 리스트로 코드화되어 있습니다. 엥커 태그에 class=”ui-btn-active” 속성을 추가 하면 링크들중 하나를 active(seleted) 상태로 셋팅하게 됩니다. 다음 예제는 footer내에 두개의 버튼으로 이루어진 navbar에서 “One” 버튼을 활성화 하였습니다.

<div data-role="footer">
<div data-role="navbar">
<ul>
<li><a href="a.html" class="ui-btn-active">One</a></li>
<li><a href="b.html">Two</a></li>
</ul>
</div><!-- /navbar -->
< /div><!-- /footer -->



Navbar의 아이템들은 균일하게 공간을 나누어 셋팅됩니다. 이 경우 브라우저의 가로길이의 반씩을 차지하게 됩니다.
Navbar는 최대 5개의 아이템들을 수용할 수 있습니다.
만약, 5개 이상의 아이템을 추가하면 여러 라인들로 보여질 것입니다.
아이템이 1개인 navbar는 브라우저 가로 길이의 100%로 렌더링 될 것입니다.

Navbars in headers

페이지의 상단에 navbar를 추가하길 원할 경우에도 페이지 타이틀과 버튼들은 계속 가지고 있을 것입니다. header 블록안에 navbar 컨테이너는 소스상으로 타이틀과 버튼들 다음위치에 추가합니다.

<div data-role="header">
<h1>I'm a header</h1>
<a href="index.html" data-icon="gear" class="ui-btn-right">Options</a>

<div data-role="navbar">
<ul>
<li><a href="#">One</a></li>
<li><a href="#">Two</a></li>
<li><a href="#">Three</a></li>
</ul>
</div><!-- /navbar -->
</div><!-- /header -->



Icons in navbars

Data-icon 속성을 추가하여 navbar 아이템에 아이콘을 추가할 수 있습니다.

<div data-role="footer">
<div data-role="navbar">
<ul>
<li><a href="#" data-icon="grid">Summary</a></li>
<li><a href="#" data-icon="star" class="ui-btn-active">Favs</a></li>
<li><a href="#" data-icon="gear">Setup</a></li>
</ul>
</div><!-- /navbar -->
< /div><!-- /footer -->


그리고 각 앵커에 data-iconpos=”top” 속성을 추가하여 위에 레이블이 쌓여집니다.

그런데, 디폴트가 top 인듯 하네요.
bottom이나 right와 같은 속성 값은 적용이 안됨.


Using 3rd party icon sets

iOS 스타일 탭 아카이브인 Glyphish와 같은 유명한 라이브러리의 어느 아이콘도 추가 할 수 있습니다. 텍스트 래벨의 위에 큰 아이콘이 올라갑니다.
navbar안에 아이콘을 위치시키고 링크하는 것은 사용자 스타일의 작은 부분입니다.
아래는 navbar안에 Glyphish 아이콘을 사용하고 사용자 스타일을 만드는 예제입니다.

<style type="text/css">
.nav-glyphish-example .ui-btn .ui-btn-inner { padding-top: 40px !important; }
.nav-glyphish-example .ui-btn .ui-icon { width: 30px!important; height: 30px!important; margin-left: -15px !important; box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: none !important; border-radius: none !important; }
#chat .ui-icon { background: url(glyphish-icons/09-chat2.png) 50% 50% no-repeat; background-size: 24px 22px; }
#email .ui-icon { background: url(glyphish-icons/18-envelope.png) 50% 50% no-repeat; background-size: 24px 16px; }
#login .ui-icon { background: url(glyphish-icons/30-key.png) 50% 50% no-repeat; background-size: 12px 26px; }
#beer .ui-icon { background: url(glyphish-icons/88-beermug.png) 50% 50% no-repeat; background-size: 22px 27px; }
#coffee .ui-icon { background: url(glyphish-icons/100-coffee.png) 50% 50% no-repeat; background-size: 20px 24px; }
#skull .ui-icon { background: url(glyphish-icons/21-skull.png) 50% 50% no-repeat; background-size: 22px 24px; }
</style>

<div data-role="footer" class="nav-glyphish-example">
<div data-role="navbar" class="nav-glyphish-example" data-grid="d">
<ul>
<li><a href="#" id="chat" data-icon="custom">Chat</a></li>
<li><a href="#" id="email" data-icon="custom">Email</a></li>
<li><a href="#" id="skull" data-icon="custom">Danger</a></li>
<li><a href="#" id="beer" data-icon="custom">Beer</a></li>
<li><a href="#" id="coffee" data-icon="custom">Coffee</a></li>
</ul>
</div>
</div>

Theming navbars

Navbars은 data-theme속성에 의해 어떤 테마 색으로도 셋팅 할 수 있습니다.

<div data-role="footer">
<div data-role="navbar" data-theme="e" >
<ul>
<li><a href="#" data-icon="grid" data-iconpos="top" data-theme="b">Summary</a></li>
<li><a href="#" data-icon="star" class="ui-btn-active" data-iconpos="top" data-theme="b">Favs</a></li>
<li><a href="#" data-icon="gear" data-iconpos="top" data-theme="b">Setup</a></li>
</ul>
</div><!-- /navbar -->
</div><!-- /footer -->

'Jquery > Jquery mobile' 카테고리의 다른 글

Fullscreen positioning  (0) 2013.03.08
Fixed positioning  (0) 2013.03.08
Footer bars  (0) 2013.03.07
Header bars  (0) 2013.03.07
jquery mobile 시작하기  (0) 2013.03.07

Footer bars

Jquery/Jquery mobile 2013. 3. 7. 17:19

data-role="page" 태그안에 data-role="footer"를 삽입한다.

<div data-role="footer"> 
	<h4>Footer content</h4> 
</div> 

footer 툴바 역시 기본적으로 a테마를 적용받으며 ,쉽게 테마를 변경할 수 있습니다.
옵션 및 설정개념은 header와 매우 비슷합니다.
차이는 footer는 덜 구조적이며 유연하기에 왼쪽이나 오른쪽 자동 정렬을 하지 않습니다.


Adding buttons

footer에 추가된 링크나 버튼 마크업은 자동적으로 버튼으로 변경되어 집니다. 공간절약을 위해 문구와 아이콘의 길이만큼 inline 스타일을 셋팅합니다.

툴바의 이동버튼이나 위젯들 사이에는 어떤 패딩값도 없기때문에 패딩을 적용하고 싶다면 class="ui-bar" 속성을 footer태그에 추가합니다.

<div data-role="footer" class="ui-bar">
	<a href="index.html" data-role="button" data-icon="delete">Remove</a>
	<a href="index.html" data-role="button" data-icon="plus">Add</a>
	<a href="index.html" data-role="button" data-icon="arrow-u">Up</a>
	<a href="index.html" data-role="button" data-icon="arrow-d">Down</a>
</div>

data-role="controlgroup" 과 data-type="horizontal"속성을 추가한 태그로 감싸게 되면 버튼 그룹을 만들수 있습니다.


Adding form elements

폼 속성과 다른 컨텐츠도 툴바에 추가될수있습니다.

<div data-role="footer" class="ui-bar" data-position="inline">
        <label for="select-choice-1">Shipping:</label>
        <select name="select-choice-1" id="select-choice-1">
            <option value="standard">Standard: 7day</option>
            <option value="rush>Rush: 3days</option>
            <option value="express">Express:next day</option>
        </select>
</div>   


Persistent footers

footer가 전체적인 네비게이션 역할을 하는 경우 페이지의 이동중에도 고정된 위치에 보여지길 바랄 겁니다. 이는 JQM에 포함된 영구적인 푸터 특징을 사용하여 이뤄질수 있습니다.

footer가 페이지 이동중에도 자기 위치에 머물 수 있게 하는것은 모든 적절한 페이지들의 footer에 data-id속성을 추가하고, 각각 같은 id값을 사용하여 가능합니다. 현재 페이지와 타겟페이지에 data-id="myfooter"를 추가함으로서, 프레임웍 페이지 애니메이션이 일어나는 동안 같은 곳에 footer 앵커를 유지할 것입니다.

이 효과는 header와 footer에 data-position="fixed" 속성을 셋팅하여야 올바르게 동작할 것입니다.

'Jquery > Jquery mobile' 카테고리의 다른 글

Fullscreen positioning  (0) 2013.03.08
Fixed positioning  (0) 2013.03.08
Navbars  (0) 2013.03.08
Header bars  (0) 2013.03.07
jquery mobile 시작하기  (0) 2013.03.07
1 2 3 4 5 6 7 8 ··· 18 

글 보관함

카운터

Total : / Today : / Yesterday :
get rsstistory!