纯js写的分页表格数据为json串

下面是详细的攻略:

步骤一:准备要显示的数据

首先我们需要准备要显示在表格中的数据,并将其封装成 JSON 数据格式。以下是一个简单的示例:

let data = [
  { id: 1, name: 'Tom', age: 20, gender: 'Male' },
  { id: 2, name: 'Jerry', age: 22, gender: 'Female' },
  { id: 3, name: 'Mike', age: 25, gender: 'Male' },
  { id: 4, name: 'Kate', age: 28, gender: 'Female' },
  { id: 5, name: 'John', age: 30, gender: 'Male' },
  { id: 6, name: 'Lucy', age: 32, gender: 'Female' }
];

步骤二:编写分页逻辑

我们需要计算总页数,并根据当前页码将数据切分成若干页。以下是一个简单的示例:

function paginate(items, pageSize, currentPage) {
  const start = (currentPage - 1) * pageSize;
  const end = start + pageSize;

  const totalPages = Math.ceil(items.length / pageSize);

  return {
    currentPage: currentPage,
    totalPages: totalPages,
    totalItems: items.length,
    data: items.slice(start, end)
  };
}

const pageSize = 2; // 每页显示的项数
const currentPage = 2; // 当前页码

const paginatedData = paginate(data, pageSize, currentPage);
console.log(paginatedData);

以上代码中,我们定义了一个 paginate 函数,该函数接受三个参数:

  • items:原始数据数组
  • pageSize:每页显示的项数
  • currentPage:当前页码

函数根据当前页码和每页显示的项数,计算出当前页应该显示的数据,并返回一个包含分页后的数据和分页信息的对象。

在上面的代码中,我们将 data 数组分成了三页,当前页是第二页。执行上面的代码后,控制台会输出如下结果:

{
  currentPage: 2,
  totalPages: 3,
  totalItems: 6,
  data: [
    { id: 3, name: 'Mike', age: 25, gender: 'Male' },
    { id: 4, name: 'Kate', age: 28, gender: 'Female' }
  ]
}

我们可以根据这个对象,渲染出对应的表格。

步骤三:渲染表格

最后一步是将分页后的数据渲染到表格中。以下是一个简单的示例:

<table>
  <thead>
    <tr>
      <th>编号</th>
      <th>姓名</th>
      <th>年龄</th>
      <th>性别</th>
    </tr>
  </thead>
  <tbody id="tbody"></tbody>
</table>

<script>
const pageSize = 2; // 每页显示的项数
const currentPage = 2; // 当前页码

const paginatedData = paginate(data, pageSize, currentPage);

const tbody = document.getElementById('tbody');
paginatedData.data.forEach((item) => {
  const tr = document.createElement('tr');
  tr.innerHTML = `<td>${item.id}</td><td>${item.name}</td><td>${item.age}</td><td>${item.gender}</td>`;
  tbody.appendChild(tr);
});
</script>

以上代码中,我们首先定义了一个包含表头和空的表体的表格。然后调用 paginate 函数,将数据分页,并提取当前页的数据。最后我们使用 forEach 方法对分页后的数据进行遍历,将每一条数据渲染成一个表格行,并添加到表格中。

当然,这只是一个最基本的示例,你可以在此基础上进一步优化分页和渲染逻辑,使其更加符合实际需求。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:纯js写的分页表格数据为json串 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • JS经典正则表达式笔试题汇总

    JS经典正则表达式笔试题汇总是一篇关于JS正则表达式的经典案例和笔试题的文章。下面我将针对这篇文章给出一份完整的攻略。 一、准备工作 在阅读本篇文章前,请确保您已经掌握以下知识点: 正则表达式的基本语法 正则表达式的元字符及其用途 正则表达式的量词及其用途 正则表达式的特殊字符及其用途 二、攻略步骤 1. 多次阅读 阅读文章时,要多次阅读,不同时间有不同的理…

    JavaScript 2023年5月28日
    00
  • js动画效果制件让图片组成动画代码分享

    下面是关于“js动画效果制件让图片组成动画代码分享”的完整攻略。 一、什么是JS动画效果制件 JS动画效果制件是一种用JavaScript创建动画效果的工具,它可以帮助用户更轻松、更高效地制作出丰富多彩的动画效果,同时可以通过代码进行完全自定义。 常见的JS动画效果制件包括jQuery中的animate()方法、GreenSock Animation Pla…

    JavaScript 2023年6月10日
    00
  • JavaScript常用本地对象小结

    下面我将详细讲解JavaScript常用本地对象的知识点,包含对象的定义、属性和方法,以及两个示例说明。 什么是本地对象 在 JavaScript 中,除了语言本身提供的全局对象和全局函数之外,很多对象也是由浏览器端或者 node.js 端提供的本地对象。本地对象可分为三个大类(原生对象、宿主对象、自定义对象),原生对象又称为内置对象。 常用本地对象 本地对…

    JavaScript 2023年5月27日
    00
  • JSON stringify方法原理及实例解析

    JSON stringify方法原理及实例解析 JSON.stringify() 方法概述 JSON.stringify() 方法是 JSON 对象中的方法,用于将 JavaScript 对象转换为一个字符串。它可以将一个 JavaScript 对象序列化成一个 JSON 字符串,也可以对对象进行过滤、控制转换过程以及自定义替换值等操作。 语法如下: JSO…

    JavaScript 2023年5月27日
    00
  • js异常捕获方法介绍

    接下来我将为您详细讲解“js异常捕获方法介绍”的完整攻略。 一、前言 在 Javascript 的开发中,我们难免会遇到一些错误,比如语法错误、逻辑错误、运行时错误等等。这些错误会导致代码执行的中断,并且在控制台上输出相应的错误信息,从而影响使用体验。为了提高网站的稳定性和用户体验,我们需要在代码中加入异常捕获机制来处理这些错误。 二、常见的异常捕获方法 1…

    JavaScript 2023年5月28日
    00
  • JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支

    JS前端知识点总结之页面加载事件,数组操作,DOM节点操作,循环和分支 页面加载事件 window.onload window.onload事件是在文档(包括图像、CSS和其他资源)全部加载完成时触发的事件,用于在页面加载完成后执行一些初始化操作,比如加载一些需要资源的模块或者初始化一个需要在页面加载完毕后才能使用的插件。 window.onload = f…

    JavaScript 2023年6月10日
    00
  • js Event对象的5种坐标

    JS Event对象包含5种不同的坐标属性,它们可以用来描述事件的发生位置,这些坐标属性分别是: clientX和clientY pageX和pageY screenX和screenY offsetX和offsetY x和y 下面就逐一介绍这5种坐标属性的含义和使用方法: 1. clientX和clientY clientX和clientY属性用来获取事件的…

    JavaScript 2023年6月10日
    00
  • JS实现的简单折叠展开动画效果示例

    下面是JS实现的简单折叠展开动画效果的攻略: 什么是折叠展开动画效果? 折叠展开动画效果是一种常见的页面交互设计,通过点击或者鼠标悬浮事件,展开或折叠相应的内容区域,给用户更好的使用体验。 实现流程 准备HTML结构,在需要折叠展开的区域加入相应的class; 使用CSS定义默认状态和展开状态的样式,并为相应的class设置过渡效果; 编写事件监听函数,在用…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部