过滤和分页
嗨,大家好,感谢您的帮助。 我试图实现一个简单的分页过滤,隐藏li的类。 这个例子在这里 。 我是新手,但有一些帮助,主要想法是工作。 唯一的问题是,当我点击过滤我想要只分页那个类别中的li。 因此,如果我点击“类别1”链接,那么当我点击下一个上一个时,带有“category-2”类的li应该是隐藏的而不是APPEAR。
HTML
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 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); })
你能帮忙的话,我会很高兴 :)
我更新了你的脚本: http : //jsfiddle.net/vU9Hv/12/
基本上,我引入了一个新的变量visible
,其中包含要显示的所选li
类。 然后, pagination
function处理li
的所有显示/隐藏。 默认情况下,该变量设置为空白; 因此,所有的li
将最初显示。 pagination
function将从以下开始:
var totalItems = $("li" + visible).length;
并结束:
$("li" + visible).slice(min, max).show();
点击处理程序转换为:
$('div.filter').delegate('a', 'click', function (event) { visible = '.' + this.href.slice(this.href.indexOf("#") + 1); pagination(); event.preventDefault(); });