最近研究了一个js分页,心得跟大家分享一下。
先定义html结构
<ul class="list" id="list">
</ul>
<div class="pre"><a class="crrt" href="#">1</a> <a href="#">2</a>
<a href="#">3</a> <a href="#">4</a></div>
编写js
定义常量
var PAGE_SHOW = 4; //每一页显示个数
var PAGE_COUNT = 0; //总共几页
定义jquery初始化
$().ready(function(){
var gift=[{"flag":1,name:"黑ぃ丫に头","icon":"http://thirdapp1.qlogo.cn/qzopenapp/06d264c84a243d4681ccd0c590f3b609ce9adc9abb705a688bff2332e5c9623c/50","itemid":612707161905581,"tips":50},{"flag":1,name:"夜下听风","icon":"http://thirdapp3.qlogo.cn/qzopenapp/95dac2d0238d3f7bc366c5108238b08a57338918e56a386e477105dba754cc74/50","itemid":542961186395792,"tips":38},{"flag":1,name:"傻孩子","icon":"http://thirdapp0.qlogo.cn/qzopenapp/d02133ecec528eb188159ff701fa4759c121a83deb6a0b44d0a7a6fb29aba3bc/50","itemid":431704355230303,"tips":24},{"flag":1,name:" 黄花胖小子","icon":"http://thirdapp0.qlogo.cn/qzopenapp/3b9a4bbcdd70c703d30a25921de9f500c858f3c6c9406424821e1e8f34c3cb44/50","itemid":527568023566921,"tips":23},{"flag":1,name:"雪中白鹄","icon":"http://thirdapp3.qlogo.cn/qzopenapp/d8219673598dbd6ff4a43f765c865b2ff207ca74206480bbaa8264c4f8a5f0c5/50","itemid":693641514680399,"tips":22}];
if(gift){
//加载第一页页码
PAGE_COUNT = Math.ceil(gift.length/4);
initPageIndex(1);
//加载第一页显示内容
var giftHtml = "";
var firstPageShow = PAGE_SHOW;
var count = 0;
for(var i=0; i<gift.length; i++){
count ++;
var liStyle = "display:none";
if(firstPageShow > 0){
liStyle = "display:block";
}
if('1' == gift[i].flag){
giftHtml += "<li style='"+liStyle+"'><a href='javascript:void(0);' class='bg'><span class='pbg'><img src="+gift[i].icon+"\" /></span><span class='ke'>"+gift[i].name+"</span><span><input type='radio' name='itemSelect' value='"+gift[i].itemId+"'/></span><p class='nic'>"+gift[i].tips+"</p></a></li>\n";
}
firstPageShow--;
}
$("#list").html(giftHtml);
}
});
// 初始化页码
function initPageIndex(currPage){
var pageHtml = "";
for(var i=0; i<PAGE_COUNT; i++){
var j = i+1;
var aClass = "";
if(j == currPage){
pageHtml += "<a class='crrt' href='javascript:void(0)' onclick=\"return false\">"+j+"</a>\n";
} else {
pageHtml += "<a href='javascript:void(0)' onclick=\"loadPage("+j+");return false\">"+j+"</a>\n";
}
}
$(".pre").html(pageHtml);
}
//跳转页面,对应页面的li显示
function loadPage(toPage){
if(toPage <=0){
alert("数据错误");
}
var minIndex = (toPage -1) * PAGE_SHOW;
var maxIndex = toPage * PAGE_SHOW -1;
$("li").each(function(index, domEle){
alert(index + "|" + domEle);
if(index >=minIndex && index <= maxIndex){//要显示
$(domEle).show();
} else {//要隐藏
$(domEle).hide();
}
});
// 重新加载页码
initPageIndex(toPage);
}
分享到:
相关推荐
**JavaScript分页插件概述** 在网页开发中,分页是一种常见的数据展示方式,它能够有效地组织大量数据,提高用户体验。本项目提供的“适配所有浏览器的js分页插件”是一个轻量级且易用的解决方案,尤其适用于那些...
2. Pagination.js:一个独立的JavaScript分页库,支持自定义分页样式,支持Ajax请求数据。 3. vue-paginate:针对Vue.js框架的分页组件,易用且高度可定制。 4. react-pagination:适用于React应用的分页组件,可与...
3. **纯JavaScript分页**:不依赖任何外部库,通过JavaScript实现分页逻辑。例如,可以使用数组或对象存储数据,根据当前页数动态渲染页面内容。 4. **AJAX分页**:使用AJAX异步加载数据,用户在切换页面时无需刷新...
综上所述,“漂亮的js分页效果”涉及多个JavaScript和前端开发的关键概念,包括JavaScript基础、DOM操作、事件监听、AJAX请求、CSS样式设计、响应式布局、模块化编程以及用户体验优化等。通过理解并熟练掌握这些知识...
js pagination插件是一个流行的JavaScript分页解决方案,它允许开发者轻松实现无刷新分页。这个插件通常包括CSS样式文件(如pagination.css)用于定义分页元素的外观,以及JavaScript文件(如jquery.pagination.js)...
4. **JavaScript分页逻辑**:`spagination.js` 是核心脚本,包含了分页功能的实现。主要包括计算总页数、生成页码按钮、监听按钮点击事件、更新当前页等功能。开发者需要了解如何根据数据量和每页显示的数量来计算总...
这个压缩包中包含了多个JavaScript分页代码示例,适合网页开发者参考和直接应用。 分页效果的实现通常包括以下几个核心部分: 1. 数据获取:首先,需要获取要分页展示的数据。这些数据可以来源于服务器端(如通过...
在这个案例中,JavaScript分页组件可能是用AJAX(Asynchronous JavaScript and XML)技术实现的。当用户点击分页按钮时,JavaScript会异步发送请求到Servlet,Servlet处理请求并返回新的数据,然后JavaScript更新DOM...
- 根据文件名,如"12_154640_a8zdJSpage0.06v20050426",我们可以推测这可能是一个名为"JSpage"的JavaScript分页库的不同版本。"0.06"可能是版本号,而"20050426"可能是发布日期。 - 同理,其他类似命名的文件可能...
这篇博客 "js分页插件(附上用法描述)" 提供了关于JavaScript分页插件的详细信息,虽然具体的代码没有直接给出,但通常会涵盖以下几个核心知识点: 1. **分页原理**:分页主要基于服务器端和客户端的交互。服务器...
总结来说,JavaScript分页是一个涉及数据处理、用户交互和页面更新的过程。通过封装分页函数,我们可以使代码更加模块化,易于理解和维护。在实际开发中,可以根据项目需求进行定制,比如结合前端框架(如React、Vue...
你可以通过阅读和分析这两个文件来学习如何实现一个完整的JavaScript分页解决方案。在实际应用中,还可以考虑添加更多的特性,如分页样式定制、分页效果动画、当前页码显示等,以满足不同项目的需求。
自己写的一个js分页控件.已经封装,可以直接使用. 适合各种用途的分页控制. 如果界面不够美观,只需要修改css即可.
JavaScript分页是网页开发中一个常见且重要的功能,它用于处理大量数据的显示,通过将数据分割成小块,逐页加载,提高了用户体验并优化了页面性能。在本项目中,我们将探讨如何使用纯JavaScript实现分页功能,以及...
在这个主题中,我们将深入探讨JavaScript分页的实现原理、设计模式以及如何利用CSS来定制样式。 首先,JavaScript分页的基本原理是通过计算总页数,根据用户的当前页码展示相应的内容。通常,我们会在后端获取数据...
这里提到的"JS分页控件+CSS"是一个针对网页分页功能的解决方案,结合了JavaScript(JS)和层叠样式表(CSS)的技术。下面我们将深入探讨这两个关键组成部分以及它们如何协同工作。 **JS分页控件** JavaScript是一...
JavaScript分页插件是一种在网页上实现数据分页显示的工具,它可以帮助开发者轻松地将大量数据分成多个页面,提供用户友好的浏览体验。在这个场景中,你提到的"js分页插件"是一个只有2KB大小的轻量级插件,包含3个...
javascript 分页
在这个“js分页实例asp服务端”的示例中,我们将探讨如何结合JavaScript(js)前端技术和ASP服务端技术来实现动态数据分页。 首先,我们需要理解分页的基本原理。分页通常涉及到两个主要部分:前端的用户界面(UI)...
总的来说,"js分页效果"是一个综合性的前端开发任务,涵盖了JavaScript基础、DOM操作、事件处理、数据交互、动画效果等多个方面。通过这个示例,开发者不仅可以学习到分页的实现技巧,还能加深对前端开发整体流程的...