【发布时间】:2015-06-23 03:32:22
【问题描述】:
我是全新的,不幸的是我不擅长 jQuery。但我有以下问题,非常感谢您的帮助!
我有一个我想要分页的项目列表。我已经能够对包含以下内容的列表进行分页了
<ul class="products_erweitert">
<li>
<div class="asa2_uhrenshop_main_container"></div>
</li>
<li>
<div class="asa2_uhrenshop_main_container"></div>
</li>
</ul>
使用以下脚本:
(function($){
$(document).ready(function(){
$(".pagination").customPaginate({
itemsToPaginate : ".asa2_uhrenshop_main_container"
});
});
})(jQuery);
和
(function($){
$.fn.customPaginate = function(options){
var paginationContainer = this;
var itemsToPaginate;
var defaults = {
itemsPerPage : 6
};
var settings = {};
$.extend(settings, defaults, options);
var itemsPerPage = settings.itemsPerPage;
itemsToPaginate = $(settings.itemsToPaginate);
var numberOfPaginationLinks = Math.ceil((itemsToPaginate.length / itemsPerPage));
$("<ul></ul>").prependTo(paginationContainer);
for(var index = 0; index < numberOfPaginationLinks; index++){
paginationContainer.find("ul").append("<li>"+ (index+1) + "</li>");
}
itemsToPaginate.filter(":gt(" + (itemsPerPage - 1) + ")").hide();
paginationContainer.find("ul li").on('click', function(){
var linkNumber = $(this).text();
var itemsToHide = itemsToPaginate.filter(":lt(" + ((linkNumber-1) * itemsPerPage) + ")");
$.merge(itemsToHide, itemsToPaginate.filter(":gt(" + ((linkNumber * itemsPerPage) - 1) + ")"));
itemsToHide.hide();
var itemsToShow = itemsToPaginate.not(itemsToHide);
itemsToShow.show("fast");
});
};
}(jQuery));
但是我遇到了三个问题。
1.) 假设我在该列表中有 18 个项目。所以这 18 个项目生成 3 个页面。我想在它们之间有一个平滑的过渡或淡入/淡出效果。不幸的是,到目前为止我还没有成功...
2.) 现在我在页面 1、2 和 3 的底部有三个按钮。我想要一个“上一个”和“下一个”按钮,但我不知道如何将它集成到我的代码。
3.) 当我单击 18 项列表的第 2 页时,前 6 项被隐藏。不幸的是,他们的<li> 容器仍然存在并且有一个边距,这似乎需要在顶部留出空间。
我希望有人可以帮助我。
提前致谢!
编辑:我能够自己修复数字 3)。我为前面提到的<li> 分配了一个类,并将其分配给<li class="pagination_show">。然后我更新了第一个代码 sn-p 并将 .asa2_uhrenshop_main_container 替换为 .pagination_show。
编辑 2:我做了一个 jsfiddle:https://jsfiddle.net/b8gmqx9p/
【问题讨论】:
-
你能创建一个问题小提琴here
-
嗨,我解决了第 3 题)!我只是错过了一个 li 课程。
-
是的,我尝试创建一个。
-
太棒了!!发布您的答案并自己接受,以便此问题将来对其他人有所帮助!
-
我做了一个问题小提琴:jsfiddle.net/b8gmqx9p 我希望页面之间有一个平滑的过渡,也希望有“上一个”和“下一个”按钮进行导航。谢谢!
标签: jquery html pagination fadein fadeout