Jquery隐藏前12个元素,显示接下来的12个元素上一个和下一个

我想要做的是隐藏前12个元素并显示接下来的12个元素并反转,它就像搜索结果中的下一页和上一页。

从Jquery得到这个代码隐藏前12个元素,显示接下来的12个元素

DEMO

151
151
151
151
151
151
151
151
151
151
151
151
152
152
etc...
next
var x = $(".inner-content div").hide(); $("div:contains(next)").click(function() { var cnt = $(this).data("cnt") || 0; if((cnt * 12) > x.length){ cnt = 0; } x.hide().filter(":eq("+ (cnt * 12) + "), :lt(" + ((cnt * 12) + 12) + "):gt(" + (cnt * 12) + ")").show(); $(this).data("cnt", ++cnt); });

这段代码有效但我想用前一个按钮反转它

你可以试试这个:

JQuery的

 $(".next").click(function() { var childEls = $('.inner-content').find('.front-pro').not(".visible") ; // array var count = 1; $.each(childEls, function() { if (count <= 12) { $(this).toggleClass('visible'); } count++; }); }); $(".prev").click(function() { var count = 1; $($('.inner-content').find('.visible').get().reverse()).each(function() { if (count <= 12) { $(this).toggleClass('visible'); } count++; }); }) 

这是一个演示链接 - JsFiddle

这些方面的东西就是我的方法。 由于您检索了在x中使用的所有元素。 我将研究Jquery Slice()方法,您可以在其中请求选择器结果的子集。 说不完整,但我希望它可以帮助你到达你想要的地方。

 var x = $(".inner-content div").hide(); var $nextdiv = $("div:contains(next)"); var $previousdiv = $("div:contains(previous)"); var pageNum = 0; var numOfPages = Math.ceil(x.length / 12); $nextdiv.click(function() { if (pageNum < numOfPages) { var toshow = x.slice(pageNum * 12, pageNum * 12 + 12).show(); // show next 12 x.not(toshow).hide(); // hide all others pageNum++; } }); $previousdiv.click(function() { if (pageNum > 0) { pageNum--; var toshow = x.slice((pageNum - 1) * 12, (pageNum - 1) * 12 + 12).show(); // show last pages 12 records x.not(toshow).hide(); // hide all others } }); 

https://jsfiddle.net/3rk53h7L/5/