首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js分页代码和实例

在JavaScript中实现分页功能,通常涉及到计算总页数、当前页的数据切片、以及页面渲染等步骤。以下是一个简单的分页代码示例和解释:

HTML部分

代码语言:txt
复制
<div id="pagination">
  <button id="prevPage">上一页</button>
  <span id="pageInfo"></span>
  <button id="nextPage">下一页</button>
</div>
<ul id="dataList"></ul>

JavaScript部分

代码语言:txt
复制
// 假设我们有一个数组作为数据源
const data = Array.from({ length: 100 }, (_, i) => `Item ${i + 1}`);

// 分页配置
const itemsPerPage = 10; // 每页显示10条数据
let currentPage = 1; // 当前页码

// 计算总页数
const totalPages = Math.ceil(data.length / itemsPerPage);

// 渲染当前页的数据
function renderPage(page) {
  const start = (page - 1) * itemsPerPage;
  const end = start + itemsPerPage;
  const pageData = data.slice(start, end);
  const dataList = document.getElementById('dataList');
  dataList.innerHTML = ''; // 清空列表
  pageData.forEach(item => {
    const li = document.createElement('li');
    li.textContent = item;
    dataList.appendChild(li);
  });
}

// 更新分页信息
function updatePaginationInfo() {
  const pageInfo = document.getElementById('pageInfo');
  pageInfo.textContent = `第 ${currentPage} 页,共 ${totalPages} 页`;
}

// 上一页按钮事件处理
document.getElementById('prevPage').addEventListener('click', () => {
  if (currentPage > 1) {
    currentPage--;
    renderPage(currentPage);
    updatePaginationInfo();
  }
});

// 下一页按钮事件处理
document.getElementById('nextPage').addEventListener('click', () => {
  if (currentPage < totalPages) {
    currentPage++;
    renderPage(currentPage);
    updatePaginationInfo();
  }
});

// 初始化页面
renderPage(currentPage);
updatePaginationInfo();

解释

  1. 数据源:我们有一个包含100个项目的数组data
  2. 分页配置itemsPerPage定义了每页显示的项目数,currentPage跟踪当前页码。
  3. 总页数计算:使用Math.ceil来确保计算出的总页数是向上取整的整数。
  4. 渲染函数renderPage函数根据当前页码计算数据的起始和结束索引,然后更新DOM以显示当前页的数据。
  5. 分页信息更新updatePaginationInfo函数更新页面上的分页信息,显示当前页码和总页数。
  6. 事件处理:为上一页和下一页按钮添加点击事件监听器,以更新当前页码并重新渲染页面。
  7. 初始化:页面加载时调用renderPageupdatePaginationInfo函数来显示第一页的数据和分页信息。

优势

  • 简单易懂:这个示例代码结构清晰,逻辑简单,易于理解和维护。
  • 灵活性:可以很容易地修改itemsPerPage来改变每页显示的项目数,或者改变数据源来适应不同的数据集。
  • 可扩展性:可以在此基础上添加更多功能,如跳转到指定页码、显示页码导航等。

应用场景

  • 数据列表展示:适用于需要分页显示大量数据的场景,如电商网站的商品列表、新闻网站的文章列表等。
  • 后台管理系统:在管理大量数据时,分页可以提高数据加载效率和用户体验。

通过这种方式,你可以实现一个基本的分页功能,并根据具体需求进行扩展和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • bootstrap实现分页(实例)

    写前端都会面临的一个问题就是分页,如果是纯js分页也是可以的,只是可能代码量比较大,所以今天写一个关于用bootstrap框架分页的例子,希望以后可以帮助到一些对这方面比较头疼的码农。...,是的,不是急着将数据放到表格里面,先分页,ok我们加载分页的js(bootstrap的分页js) <link href="../.....mainObj = $('#mainContent'); mainObj.empty(); mainObj.html(html.join('')); } ok,到这里基本就已经将一个页面加载数据和分页处理结束了...ok最后简单的总结一下,分页其实不难,难在怎么理解这个思路,我看了很多的分页的代码,有的是原生的js分页,是可以实现的,但是只是对于开发者来说是一件得不偿失的事情,毕竟前人是给我们提供的有办法的,我们是没必要纠结那些...,代码怎么简单快速的实现是最好的方式。

    3.1K10

    JS 实现分页打印

    在调用 window.print() 时,可以实现打印效果,但内容太多时要进行分页打印。...在样式中有规定几个打印的样式 page-break-before 和 page-break-after CSS属性并不会修改网页在屏幕上的显示,这两个属性是用来控制文件的打印方式。...每个打印属性都可以设定4种设定值:auto、always、left和right。其中Auto是默认值,只有在有需要时,才需设定分页符号 (Page breaks)。...page-break-before 若设定成right,则会插入分页符号,直到指定的组件出现在一个右边的空白页上。 page-break-after 属性会将分页符号加在指定组件后,而非之前。...如果必要则在元素前插入分页符 always 在元素前插入分页符 avoid 避免在元素前插入分页符 left 在元素之前足够的分页符,一直到一张空白的左页为止 right 在元素之前足够的分页符,一直到一张空白的右页为止

    14.2K21

    SpringBoot整合MyBatis-Plus实现分页,代码生成,锁等实例

    11、内置分页插件:基于 Mybatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通List查询。...* @return 分页插件的实例 */ @Bean public PaginationInterceptor paginationInterceptor() {...return new PaginationInterceptor(); } } Step2:   编写分页代码。   ...CAS 操作包含三个操作数 —— 内存值(V)、预期原值(A)和新值(B)。如果内存地址里面的值 V 和 A 的值是一样的,那么就将内存里面的值更新成B。...注: queryWrapper 表示实体对象封装操作类(可以为 null) page 表示分页查询条件 2、Service 接口方法(CRUD)简单了解一下 (1)简介   使用 代码生成器

    1.7K20
    领券