1
嗨,感謝您的幫助。我試圖實現一個簡單的分頁過濾,隱藏li的類。該示例是here。我是新來的,但有一些幫助,主要想法正在工作。唯一的問題是,當我點擊過濾我想分頁只是在該類別的李。所以如果我點擊「類別1」鏈接,那麼類別爲「類別-2」的李應該隱藏,而不是顯示,當我點擊下一步o prev。過濾和分頁
HTML
<div class="filter">
<a href="#category-1">category 1</a>
<a href="#category-2">category 2</a>
</div>
<div id="item-wrapper">
<ul class="items">
<li class="category-1">item 1</li>
<li class="category-1">item 2</li>
<li class="category-1">item 3</li>
<li class="category-1">item 4</li>
<li class="category-1">item 5</li>
<li class="category-1">item 6</li>
<li class="category-2">item 7</li>
<li class="category-2">item 8</li>
<li class="category-2">item 9</li>
<li class="category-2">item 10</li>
<li class="category-2">item 11</li>
<li class="category-2">item 12</li>
<li class="category-1">item 13</li>
<li class="category-1">item 14</li>
<li class="category-2">item 15</li>
</ul>
<div class="ctrl-nav">
<a href="#" id="prev">Previous</a><a href="#" id="next">Next</a>
</div>
</div>
JS
$('div.filter').delegate('a', 'click', function (event) {
$('ul.items li').hide().filter('.' + this.href.slice(this.href.indexOf("#") + 1)).show();
event.preventDefault();
});
var itemsNumber = 6;
var min = 0;
var max = itemsNumber;
function pagination(action) {
var totalItems = $("li").length;
if (max < totalItems) {//Stop action if max reaches more than total items
if (action == "next") {
min = min + itemsNumber;
max = max + itemsNumber;
}
}
if (min > 0) {//Stop action if min reaches less than 0
if (action == "prev") {
min = min - itemsNumber;
max = max - itemsNumber;
}
}
$("li").hide();
$("li").slice(min, max).show();
}
pagination();
//Next
$("#next").click(function() {
action = "next";
pagination(action);
})
//Previous
$("#prev").click(function() {
action = "prev";
pagination(action);
})
任何幫助將是不錯:)
@亞歷克斯-R先生你是男人!非常感謝這個令人敬畏的答案! PS:當沒有更多的分頁時,你能告訴我如何隱藏「上一個」或「下一個」鏈接嗎?再次謝謝你!!! – fecapeluda
我以爲你永遠不會問:http://jsfiddle.net/vU9Hv/13/我添加了檢查,如果新的'max'大於'totalItems'並且'min'小於'0'。如果是,請記住接受這個答案;-) –
+100 @ alex -r你是主人!很高興見到你,讓我告訴你今天我學到了很多,謝謝你:) – fecapeluda