Bootstrap实现翻页效果

大致步骤如下:

1. 引入Bootstrap库

在头部引入Bootstrap的css和js文件

<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://cdn.bootcss.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>

2. 构建分页组件

用Bootstrap提供的分页组件和相应的类名来构建分页功能。

<nav aria-label="Page navigation">
  <ul class="pagination">
    <li class="page-item">
      <a class="page-link" href="#" aria-label="Previous">
        <span aria-hidden="true">&laquo;</span>
      </a>
    </li>
    <li class="page-item active"><a class="page-link" href="#">1</a></li>
    <li class="page-item"><a class="page-link" href="#">2</a></li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
    <li class="page-item">
      <a class="page-link" href="#" aria-label="Next">
        <span aria-hidden="true">&raquo;</span>
      </a>
    </li>
  </ul>
</nav>

其中active类用于标识当前页码,通过改变active类可以实现翻页效果。

3. 实现翻页效果

通过点击上一页和下一页按钮,改变分页组件中的active类名,从而实现翻页效果。

$(function(){
  $('.pagination').on('click', 'a', function() {
    var $this = $(this);
    if (!$this.parent().hasClass('active')) {
      var pageIndex = parseInt($this.text());
      $('.pagination li').removeClass('active');
      $this.closest('li').addClass('active');
      // 跳转到相应的页面
      // ...
    }
  });
});

以上代码中,通过jQuery监听分页组件中的点击事件,当点击的不是当前页的页码时,移除分页组件中所有页码对应的active类,添加当前点击页码对应的active类。最后可以添加其它的代码,完成跳转到相应页面的功能。

示例1:

在分页组件中引入更多的页码,需要时可根据需要调整。同时,也可以根据需要修改上一页和下一页按钮。

<nav aria-label="Page navigation">
  <ul class="pagination">
    <li class="page-item">
      <a class="page-link" href="#" aria-label="Previous">
        <span aria-hidden="true">&laquo;</span>
      </a>
    </li>
    <li class="page-item active"><a class="page-link" href="#">1</a></li>
    <li class="page-item"><a class="page-link" href="#">2</a></li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
    <li class="page-item"><a class="page-link" href="#">4</a></li>
    <li class="page-item"><a class="page-link" href="#">5</a></li>
    <li class="page-item">
      <a class="page-link" href="#" aria-label="Next">
        <span aria-hidden="true">&raquo;</span>
      </a>
    </li>
  </ul>
</nav>

示例2:

根据数据总数和每页显示的数据条数,生成分页组件,并可以实现跳转到相应页面的功能。

var totalCount=200,pageSize=10,pageIndex=1;
var pageCount=Math.ceil(totalCount/pageSize);

var pageHtml='<nav aria-label="Page navigation"><ul class="pagination">';
pageHtml+=pageIndex===1?'<li class="page-item disabled"><a class="page-link">上一页</a></li>':'<li class="page-item"><a class="page-link">上一页</a></li>';
for(var i=1;i<=pageCount;i++){
    if(i===pageIndex){
        pageHtml+='<li class="page-item active"><a class="page-link">'+i+'</a></li>';
    }else{
        pageHtml+='<li class="page-item"><a class="page-link">'+i+'</a></li>';
    }
}
pageHtml+=pageIndex===pageCount?'<li class="page-item disabled"><a class="page-link">下一页</a></li>':'<li class="page-item"><a class="page-link">下一页</a></li>';
pageHtml+='</ul></nav>';

$(document).on('click', '.pagination a', function(e){
    e.preventDefault();
    var $this = $(this);
    if (!$this.parent().hasClass('active')) {
      var pageIndex = parseInt($this.text());
      renderList(pageIndex,pageSize);//渲染数据
      $(".pagination").html(renderPage(pageIndex, pageCount))//重新生成分页组件并替换原有的分页组件
    }
});

renderList(pageIndex,pageSize);//初始化页面,渲染第1页数据
$(".pagination").html(renderPage(pageIndex, pageCount));//初始化页面,渲染分页组件

以上代码中,通过算出总页数、生成分页组件、监听点击事件并重新渲染页面,完成翻页效果及跳转到相应页面的功能。

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

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

相关文章

  • spring整合redis以及使用RedisTemplate的方法

    Spring整合Redis以及使用RedisTemplate的方法 什么是Redis? Redis是一个开源的,高级的、基于内存的NoSQL数据库,常用于缓存、队列、分布式锁等应用。它支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。 Spring整合Redis 1. 环境搭建 首先需要引入Spring Data Redis模块,以及Jedis或L…

    Java 2023年5月19日
    00
  • springboot启动后卡住无日志的几种情况小结

    下面是关于“SpringBoot启动后卡住无日志的几种情况小结”完整攻略: 问题背景 在使用SpringBoot开发JavaWeb应用时,有时候可能会遇到启动后卡住无日志的情况,导致我们无法知道整个启动过程的具体信息。这种情况通常有以下几种原因: 应用启动卡在某个点,等待某个线程执行完成 应用启动时出现了未捕获的异常 应用启动时依赖的外部服务出现了故障 接下…

    Java 2023年6月2日
    00
  • Linux系统下Tomcat8启动速度很慢的解决方法

    下面是详细的“Linux系统下Tomcat8启动速度很慢的解决方法”攻略: 问题背景 在Linux系统下使用Tomcat8启动web应用时,可能会遇到启动速度较慢的问题,需要对其进行优化。 解决方案 1. 调整JVM参数 在Tomcat8的bin目录下找到catalina.sh文件(如果使用包管理器安装Tomcat,则该文件位于/usr/share/tomc…

    Java 2023年5月19日
    00
  • 序列化实现对象的拷贝

    提到拷贝,大家第一时间想到的可能都是克隆模式的深克隆,因为这个模式在面试中出现的机率非常高,同时实现的方式也比较容易:对象的类实现Cloneable接口并且重写clone()方法即可。但是在实际情况中克隆模式有时候其实并不适合用来拷贝对象,因为如果有很多的实体类都需要拷贝,这个时候难道把这些实体类全都实现克隆模式?这是不提倡的,这个时候可以使用序列化方式来实…

    Java 2023年4月19日
    00
  • Java找不到或无法加载主类及编码错误问题的解决方案

    以下是关于“Java找不到或无法加载主类及编码错误问题的解决方案”的完整攻略: 什么是“Java找不到或无法加载主类及编码错误问题”? 在Java程序中可能会出现“找不到或无法加载主类”错误和“编码错误”的问题。这类问题一般出现在程序运行时,这个错误会导致程序无法正常运行,需要进行相应的修复。 造成问题的原因 主类文件位置不正确或文件名拼写错误 classp…

    Java 2023年5月20日
    00
  • Java常用类之字符串相关类使用详解

    Java常用类之字符串相关类使用详解 字符串是Java语言中最常用的数据类型之一,Java提供了许多字符串相关的类来方便我们对字符串进行操作和处理。在本文中,我们将对Java字符串相关的常用类进行详解。 常用字符串类 以下是Java中常用的字符串类: String:Java中最基本的字符串类。 StringBuffer:可变的字符串类。 StringBuil…

    Java 2023年5月26日
    00
  • Java中URL传中文时乱码的解决方法

    一、问题描述在Java中进行URL传参时,可能会遇到中文乱码的问题。这里提供一种解决方法。 二、解决方法1.使用URLEncoder和URLDecoder实现编码和解码在请求参数中传入中文时,需要使用URLEncoder对中文进行编码。例如:我们需要向http://www.example.com/Servlet?name=”张三” 这个地址中传入中文参数,可…

    Java 2023年5月20日
    00
  • 原理分析Java Mybatis中的Mapper

    我来为你详细讲解“原理分析Java Mybatis中的Mapper”的完整攻略。 简介 Mybatis是一种优秀的数据访问层框架,Mapper是Mybatis框架中的重要组成部分。在数据层编程时,Mapper负责将Java实体类与SQL语句相互映射。本文将介绍Mybatis中Mapper的原理和使用方法。 Mapper的原理解析 Mybatis框架将Mapp…

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