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

js css 分页 源码

以下是一个使用 JavaScript 和 CSS 实现简单分页的示例代码:

HTML 部分:

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="styles.css">
  <title>分页示例</title>
</head>

<body>
  <div id="content">
    <!-- 这里放置要分页显示的内容 -->
    <p>内容 1</p>
    <p>内容 2</p>
    <p>内容 3</p>
    <p>内容 4</p>
    <p>内容 5</p>
    <p>内容 6</p>
    <p>内容 7</p>
    <p>内容 8</p>
    <p>内容 9</p>
    <p>内容 10</p>
    <!-- 更多内容... -->
  </div>
  <div id="pagination">
    <!-- 分页按钮将生成在这里 -->
  </div>

  <script src="script.js"></script>
</body>

</html>

CSS 部分(styles.css):

代码语言:txt
复制
#pagination {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.pagination-button {
  padding: 5px 10px;
  margin: 0 2px;
  border: 1px solid #ccc;
  background-color: #f9f9f9;
  cursor: pointer;
}

.pagination-button.active {
  background-color: #007BFF;
  color: white;
  border-color: #007BFF;
}

JavaScript 部分(script.js):

代码语言:txt
复制
const content = document.getElementById('content');
const itemsPerPage = 3; // 每页显示的项数
const totalItems = content.children.length;
const totalPages = Math.ceil(totalItems / itemsPerPage);
const pagination = document.getElementById('pagination');

function showPage(pageNumber) {
  const start = (pageNumber - 1) * itemsPerPage;
  const end = start + itemsPerPage;
  for (let i = 0; i < totalItems; i++) {
    content.children[i].style.display = i >= start && i < end? 'block' : 'none';
  }
  updatePaginationButtons(pageNumber);
}

function createPaginationButtons() {
  for (let i = 1; i <= totalPages; i++) {
    const button = document.createElement('button');
    button.innerText = i;
    button.classList.add('pagination-button');
    if (i === 1) {
      button.classList.add('active');
    }
    button.addEventListener('click', () => showPage(i));
    pagination.appendChild(button);
  }
}

function updatePaginationButtons(activePage) {
  const buttons = pagination.getElementsByClassName('pagination-button');
  for (let i = 0; i < buttons.length; i++) {
    buttons[i].classList.remove('active');
    if (i + 1 === activePage) {
      buttons[i].classList.add('active');
    }
  }
}

createPaginationButtons();
showPage(1);

基础概念: 分页是将大量的数据或内容分成多个页面进行显示,以提高用户体验和页面加载效率。

优势:

  • 提高页面加载速度,减少一次性加载大量数据的压力。
  • 方便用户浏览和查找信息,避免信息过载。

应用场景:

  • 数据列表展示,如新闻列表、商品列表等。
  • 文档内容的分页阅读。

可能出现的问题及解决方法:

  • 页面内容更新后分页不准确:在内容动态添加或删除时,重新计算总页数并更新分页按钮。
  • 分页按钮样式在不同设备上显示不一致:使用响应式设计,根据屏幕大小调整按钮的布局和样式。

希望这个示例对你有帮助!如果还有其他需求,请进一步说明。

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

相关·内容

  • JS 实现分页打印

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

    14.2K21

    CSS in JS

    由于 CSS 的封装非常弱,导致了一系列的第三方库,用来加强 React 的 CSS 操作。它们统称为 CSS in JS,意思就是使用 JS 语言写 CSS。...根据不完全统计,各种 CSS in JS 的库至少有47种。老实说,现在也看不出来,哪一个库会变成主流。 ?...回答是 CSS in JS 使用 JavaScript 的语法,是 JavaScript 脚本的一部分,不用从头学习一套专用的 API,也不会多一道编译步骤。...5、 上周,我看到一个新的 CSS in JS 库,叫做 polished.js。它将一些常用的 CSS 属性封装成函数,用起来非常方便,充分体现使用 JavaScript 语言写 CSS 的优势。...我觉得这个库很值得推荐,这篇文章的主要目的,就是想从这个库来看怎么使用 CSS in JS。 首先,加载 polished.js。

    6.2K40

    原生js版分页插件

    之前我在自己的博客里发表了一篇用angularJs自定义指令实现的分页插件,今天简单改造了一下,改成了原生JavaScript版本的分页插件,可以自定义一些简单配置,特此记录下来。...自己实现的简单小插件,把分页部分的css样式写在了插件paging.js中,以动态创建style标签的方式,加入到页面中。...1、代码部分: 1.1、插件 - paging.js 分页的css样式写在插件中,动态创建style标签,加载到页面中。在该js中有一个Paging构造函数。...在构造函数中有两个参数,第一个是自定义分页参数的js对象,第二个是回调函数。 在构造函数中有一个initPage()方法。用来渲染分页DOM结构。...DOCTYPE html> js版分页插件 <style

    32.6K121

    bootstrap分页css样式,修改bootstrap-table中的分页样式

    使用bootstrap-table时,使用$(“”)选择器没办法选中下方的分页button按钮,可能跟它是动态生成的有关吧。...最终找到与之对应的js(bootstrap-table.js中搜索了data-toggle),将class类更换成自己定义的一个class,完成了期望的效果 var pageNumber = [Utils.sprintf...#fff; border: 1px solid #cabbbb; padding: 3px 10px; } 右侧页码部分引用的bootstrap中的page-link样式,只需要在此基础上,在自己的css...应UI设计的要求,要去掉中间的横线和竖线,使用了修改需求中一种简单粗暴 … bootstrap table 前后端分页(超级简单) 前端分页:数据库查询所有的数据,在前端进行分页 后端分页:每次只查询当前页面加载所需要的那几条数据...C/S机制和B/S不一样,特别是有一个dat … js正则表达式子校验 //正则表达式校验new RegExp(/^[1-9]\d{4,8}$/,”g”).test(1234);//执行一个字符串所表达的方法

    6.7K30

    只听说过CSS in JS,怎么还有JS in CSS?

    本文由作者 Menndy 授权原创发布 CSS in JS CSS in JS是一种解决css问题想法的集合,而不是一个指定的库。...从CSS in JS的字面意思可以看出,它是将css样式写在JavaScript文件中,而不需要独立出.css、.less之类的文件。...将css放在js中使我们更方便的使用js的变量、模块化、tree-shaking。还解决了css中的一些问题,譬如:更方便解决基于状态的样式,更容易追溯依赖关系,生成唯一的选择器来锁定作用域。...尽管CSS in JS不是一个很新的技术,但国内的普及程度并不高。...JS in CSS又是什么 在上面我们提到CSS in JS就是把CSS写在JavaScript中,那么JS in CSS我们可以推断出就是可以在CSS中使用JavaScript脚本,如下所示。

    6.8K40

    CSS in JS 简介

    由于 CSS 的封装非常弱,导致了一系列的第三方库,用来加强 React 的 CSS 操作。它们统称为 CSS in JS,意思就是使用 JS 语言写 CSS。...根据不完全统计,各种 CSS in JS 的库至少有47种。老实说,现在也看不出来,哪一个库会变成主流。...回答是 CSS in JS 使用 JavaScript 的语法,是 JavaScript 脚本的一部分,不用从头学习一套专用的 API,也不会多一道编译步骤。...5、 上周,我看到一个新的 CSS in JS 库,叫做 polished.js。它将一些常用的 CSS 属性封装成函数,用起来非常方便,充分体现使用 JavaScript 语言写 CSS 的优势。...我觉得这个库很值得推荐,这篇文章的主要目的,就是想从这个库来看怎么使用 CSS in JS。 首先,加载 polished.js。

    5.1K70
    领券