JavaScript实现翻页功能(附效果图)

yizhihongxing

下面是详细的“JavaScript实现翻页功能(附效果图)”完整攻略。

1. 准备工作

在实现之前,需要准备以下内容:

  1. HTML 页面中的内容需要做好分页。
  2. 在页面中添加用来显示翻页效果的 HTML 元素。
  3. 确定每页需要显示的数据数量。
  4. 翻页元素的样式。

2. 翻页效果实现步骤

接下来,我们开始实现 JavaScript 翻页功能。

2.1. 获取数据

首先,需要从网页中获取需要翻页的数据。

const items = document.querySelectorAll('.item');

这里使用 querySelectorAll() 方法获取页面中所有 class 为 item 的元素,并将其存储在数组 items 中。

2.2. 分页处理

将获取到的数据进行分页处理,计算每页需要显示的数据数量。

const pageSize = 6;  // 每页需要显示的数据数量
const pageCount = Math.ceil(items.length / pageSize);  // 总页数

这里可以根据实际需要调整每页显示的数据数量。

2.3. 显示第一页内容

在页面加载完成后,需要通过 JavaScript 显示第一页的内容。

const current = 1;  // 当前页码
showPage(current);

这里通过 showPage(current) 方法来显示当前页的内容。

2.4. 显示分页元素

接下来,需要在页面中显示分页元素,以供用户进行翻页操作。

const pagelist = document.createElement('ul');  // 创建分页元素
pagelist.className = 'pagination';  // 添加 CSS 样式
for (let i = 1; i <= pageCount; i++) {
  const li = document.createElement('li');  // 创建分页按钮
  const link = document.createElement('a');  // 创建分页链接
  link.href = '#';  // 链接地址
  link.innerHTML = i;  // 链接文字
  if (i === current) {
    li.className = 'active';  // 当前页的样式
  }
  li.appendChild(link);  // 添加链接到按钮元素
  pagelist.appendChild(li);  // 添加按钮元素到分页元素
}

这里通过 for 循环和 DOM 操作来生成分页按钮,并给当前页码添加样式。

2.5. 绑定翻页事件

最后,需要为分页按钮绑定翻页事件,实现用户点击分页按钮后切换页面内容。

pagelist.addEventListener('click', function(e) {
  const target = e.target;
  if (target.nodeName === 'A') {
    e.preventDefault();  // 防止链接跳转
    const page = parseInt(target.innerHTML);  // 获取点击的页码
    showPage(page);  // 显示指定页内容
  }
});

这里通过事件委托的方式,为分页元素添加点击事件,并在事件处理函数中获取点击的页码,显示指定页内容。

2.6. 完整代码

下面是完整的实现代码。

const items = document.querySelectorAll('.item');
const pageSize = 6;
const pageCount = Math.ceil(items.length / pageSize);
const current = 1;

// 显示指定页内容
function showPage(page) {
  const start = (page - 1) * pageSize;
  const end = start + pageSize;
  for (let i = 0; i < items.length; i++) {
    if (i >= start && i < end) {
      items[i].style.display = 'block';
    } else {
      items[i].style.display = 'none';
    }
  }
  const lis = document.querySelectorAll('.pagination li');
  for (let i = 0; i < lis.length; i++) {
    const link = lis[i].querySelector('a');
    if (link.innerHTML === page.toString()) {
      lis[i].className = 'active';
    } else {
      lis[i].className = '';
    }
  }
}

// 初始化分页元素
const pagelist = document.createElement('ul');
pagelist.className = 'pagination';
for (let i = 1; i <= pageCount; i++) {
  const li = document.createElement('li');
  const link = document.createElement('a');
  link.href = '#';
  link.innerHTML = i;
  if (i === current) {
    li.className = 'active';
  }
  li.appendChild(link);
  pagelist.appendChild(li);
}

// 添加分页元素到页面
const container = document.querySelector('.container');
container.appendChild(pagelist);

// 绑定分页按钮点击事件
pagelist.addEventListener('click', function(e) {
  const target = e.target;
  if (target.nodeName === 'A') {
    e.preventDefault();
    const page = parseInt(target.innerHTML);
    showPage(page);
  }
});

// 显示第一页内容
showPage(current);

3. 示例说明

示例1:实现“上一页”按钮

这里的“上一页”按钮可以让用户在当前页的基础上向前翻一页。

实现代码:

const previous = document.createElement('li');
previous.className = 'previous';
previous.innerHTML = '<a href="#">上一页</a>';
pagelist.insertBefore(previous, pagelist.firstChild);

previous.addEventListener('click', function(e) {
  e.preventDefault();
  const current = parseInt(document.querySelector('.pagination li.active a').innerHTML);
  if (current > 1) {
    showPage(current - 1);
  }
});

这里通过在分页元素前添加一个“上一页”按钮,然后绑定点击事件,在事件处理函数中获取当前页码,然后显示当前页码的上一页。

示例2:实现“下拉列表”选择分页

下拉列表能够让用户快速选择需要查看的页码。

实现代码:

const select = document.createElement('select');
for (let i = 1; i <= pageCount; i++) {
  const option = document.createElement('option');
  option.value = i;
  option.innerHTML = i;
  select.appendChild(option);
}
container.appendChild(select);

select.addEventListener('change', function(e) {
  const page = parseInt(this.value);
  showPage(page);
});

这里通过循环添加选项,然后将下拉列表添加到页面中,绑定 change 事件,获取选择的页码并显示对应内容。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript实现翻页功能(附效果图) - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Spring异常实现统一处理的方法

    下面我将详细讲解Spring异常实现统一处理的方法。 背景 在Spring应用程序中,系统可能会出现各种异常,如数据库连接异常、空指针异常等等。这些异常可能会导致应用程序崩溃或无法正常运行,对于程序员,处理这些异常非常重要。而在处理异常时,统一处理异常是一种最佳的方法。 实现步骤 第一步:全局异常处理类 编写一个全局异常处理类,该类应该用@Controlle…

    Java 2023年5月20日
    00
  • idea中如何配置tomcat

    下面是关于如何在IntelliJ IDEA中配置Tomcat的攻略。 配置Tomcat 下载Tomcat 首先,需要从Tomcat的官网下载Tomcat,下载地址为https://tomcat.apache.org。选择适合自己的版本和操作系统,并下载对应的文件。下载完成后,解压文件。 在IDEA中新增Tomcat配置 打开IntelliJ IDEA,点击顶…

    Java 2023年6月2日
    00
  • Java SE Development Kit (JDK7) 介绍与配置方法

    Java SE Development Kit (JDK7) 介绍与配置方法 Java SE Development Kit (JDK)是Java平台的核心组件,可以提供编译、调试和执行Java应用程序的环境。JDK包含Java运行时环境(Java Runtime Environment,JRE),Java编译器(Java Compiler,javac)和J…

    Java 2023年5月26日
    00
  • 2019年Android高级面试题与相关知识点总结

    2019年Android高级面试题与相关知识点总结 作为一名Android开发者,想要在面试中脱颖而出,需要具备一定的技能和经验。本文将总结2019年Android高级面试题和相关知识点,帮助你在面试中更加得心应手。 Java基础 面向对象的三大特征是什么? 答:封装、继承、多态。 String、StringBuilder、StringBuffer 有什么区…

    Java 2023年5月26日
    00
  • Java集合源码全面分析

    Java集合源码全面分析是一部分Java开发者必备的技能。这个攻略将为您提供一些提示,如何最有效地学习和理解Java集合的源代码。 1. 学习Java集合的类层次结构 Java集合框架包含多个类和接口,这些类和接口组成了一个复杂的层次结构。您应该首先了解这个层次结构,确定每个类的位置以及它们如何相互调用。可以通过查找Java集合的类图或在线资料来帮助您。 2…

    Java 2023年5月26日
    00
  • java实现多人聊天系统

    Java实现多人聊天系统需要考虑网络通信、多线程编程以及GUI等方面,下面我将为您提供完整攻略。 一、基本框架设计 1.客户端 客户端的基本框架设计如下: 登录界面:输入用户名和密码进行登录操作; 聊天窗口:展示聊天信息,提供发送聊天内容的输入框和发送按钮; 好友列表:展示当前在线的好友列表,支持选择好友进行私聊。 2.服务器端 服务器需要处理以下事项: 处…

    Java 2023年5月24日
    00
  • Java JDBC自定义封装工具类的步骤和完整代码

    Java JDBC是Java中进行关系型数据库操作的标准方式,它提供了丰富的API让我们灵活处理数据库的连接、操作和结果集。但是,使用Java JDBC进行开发时没有封装的话会显得冗长、繁琐,因此自定义封装工具类可以提高工作效率并提高代码可读性和可维护性。 下面是Java JDBC自定义封装工具类的步骤和完整代码攻略: 1.建立数据库连接 public cl…

    Java 2023年6月16日
    00
  • 详解SpringBoot中JdbcTemplate的事务控制

    详解SpringBoot中JdbcTemplate的事务控制 什么是JdbcTemplate JdbcTemplate是Spring框架提供的一个简化JDBC操作的模板类,通过JdbcTemplate可以避免传统JDBC操作中大量重复的样板代码,提高开发效率。JdbcTemplate中封装了大量常用操作方法,如查询、更新等。 什么是事务控制 事务是指具有原子…

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