0
YUI 스크립트 내에서 AlloyUI 구성 요소를 사용 중이며 aui-tabview (Pills)와 aui-pagination을 결합하여 각 탭 (pill)을 클릭하면 페이지 매김이 각 탭의 내용/노드 목록 예를 들어 탭 -2의 노드 목록에 7 개의 항목이있는 경우 7 개의 페이지 매기기 단추를 가져야하고 탭 3의 항목 6 개는 6 개의 페이지 매기기 단추를 표시해야합니다.이 두 구성 요소를 통합 할 수 없습니다. 어떤 도움이라도 감사하게 받아 들여질 것입니다. 그것을 궁리 다음과 같은 해결책을 마련하기 위해aui-Tabview와 aui-Pagination을 결합한 것
나는 위의 게시물에 아무 대답도받지 했으므로<div id="myTab">
<ul class="nav nav-pills">
<li class="active"><a href="#view-all">View all</a></li>
<li><a href="#beauty">Beauty</a></li>
<li><a href="#days-out">Days out</a></li>
<li><a href="#holidays">Holidays</a></li>
</ul>
<div class="products tab-content">
<div id="beauty" class="tab-pane">
<div>some content</div>
<div>some more content</div>
<div>more content</div>
<div>a few words</div>
</div>
<div id="days-out" class="tab-pane">
<div>some content</div>
<div>some more content</div>
<div>more content</div>
<div>a few words</div>
</div>
<div id="holidays" class="tab-pane">
<div>some content</div>
<div>some more content</div>
<div>more content</div>
<div>a few words</div>
</div>
</div>
</div>
<script>
YUI({
}).use('node', 'node-base', 'event', 'transition', 'anim', 'aui-tabview', 'aui-pagination', function(Y) {
new Y.TabView(
{
srcNode: '#myTab',
type: 'pills'
}
).render();
Y.one(".nav.nav-pills").delegate('click', function(e) {
var id = Y.one(e.currentTarget);
var href = id.get('href');
var arr = href.split("#");
var target = arr[1];
var pages = Y.all('#' +target + " > div");
var total_rows = pages._nodes.length;
Y.log(total_rows);
new Y.Pagination(
{
page: 1,
total: total_rows,
boundingBox: '#pagination',
circular: false,
contentBox: '#pagination .pagination-content',
on: {
changeRequest: function(event) {
var instance = this,
current = event.currentTarget,
state = event.state,
lastState = event.lastState;
if (lastState) {
pages.item(lastState.page - 1).setStyle('display', 'none');
}
pages.item(state.page - 1).setStyle('display', 'block');
}
},
after: {
changeRequest: function(event) {
// goto top
a = new Y.Anim(
{
node: 'body',
to: {scrollTop: 0},
duration: 0.4,
easing: Y.Easing.easeOut
}
);
a.run();
}
},
strings: {
next: '»',
prev: '«'
}
}
).render();
}, 'a');
}
);
</script>