当前位置: 首页 > news >正文

关于对pagination.js源代码进行修改且引入项目使用

实现效果

使用定时器对组件进行每秒请求,每过固定时间之后,进行下一页项目请求,进行到最后一页请求的时候返回第一页。

首先引入js插件

<script src="./js/pagination.js" type="text/javascript"></script>

然后在HTML页面上进行请求

<div class="setPageDiv"><div class="Pagination" id="pagination"></div>
</div>

在js代码中进行定义

 var showNum = 15; //每页条数var dataL = res.count;//总条数var pageNum = Math.ceil(dataL / showNum);//总页数$('.Pagination').pagination(pageNum, {num_edge_entries: 1, //边缘页数num_display_entries: 4, //主体页数items_per_page: 1, //每页显示1项prev_text: "上一页",next_text: "下一页",current_page: 0,callback: function(index) {//index是页数索引值//回调函数当你点击数字或者上一页,下一页的时候发生的事件                        }})

然后你就看到了这个页面

基础实现之后,开始实现源代码的修改

在源代码的事件中,只有上一页跟下一页事件,所以我们直接加入一些新的事件

在pagination.js中加入回到首页

     //上一页this.prevPage = function() {if (current_page > 0) {pageSelected(current_page - 1);return true;}else {return false;}}//下一页this.nextPage = function() {if (current_page < numPages() - 1) {pageSelected(current_page + 1);return true;}else {return false;}}//回到首页this.firstPage = function() {pageSelected(0);return true;}

然后在我们写的页面js中调用方法

$('.Pagination').trigger('firstPage');
$('.Pagination').trigger('nextPage');

这里我加入了是否继续轮播

 //如果本地储存没有definitions,则为不轮播(默认进入不轮播)if(localStorage.getItem('definitions') == null){md1.definitions = falseelse{//如果本地有值且值为true,则为轮播if(localStorage.getItem('definitions') == 'true'){md1.definitions = trueconst intver = setInterval(()=>{if(md1.intvermo == 1){clearInterval(intver)else{if(md1.waisum == pageNum){md1.waisum = 0$('.Pagination').trigger('firstPage');}else{$('.Pagination').trigger('nextPage');}}md1.waisum = md1.waisum + 1},parseInt(md1.lunbotime)*1000)}else{md1.definitions = false}}

还可以加入刚进入页面判断它是第几页,然后直接跳转到分页的第几页

在pagination.js中加入

     //回调页面第几页this.playblack = function(){//从页面路径取到pages是第几页const searchParams = new URLSearchParams(location.search);pageSelected(parseInt(searchParams.get('pages')))return true;}

在界面js中使用

$('.Pagination').trigger('playblack');

资源文件是修改后的pagination.js文件,可直接引用方法进行使用

http://www.lryc.cn/news/372300.html

相关文章:

  • 《思考总结》
  • 使用QT绘制简单的动态数据折线图
  • Linux-centos7 nvm使用
  • 【Linux】Linux环境基础开发工具_6
  • Redis宣布商用后,Redis国产化替代方案有那些?
  • Go API
  • 基于STM32的简易智能家居设计(嘉立创支持)
  • 【YOLOv5/v7改进系列】改进池化层为RT-DETR的AIFI
  • 使用Python和Matplotlib绘制复杂数学函数图像
  • 淘宝/1688获得店铺的所有商品(商品列表)
  • 【MySQL】锁机制
  • LangChain入门学习笔记(一)——Hello World
  • [ROS 系列学习教程] 建模与仿真 - 使用 Arbotix 控制机器人
  • java:使用JSqlParser给sql语句增加tenant_id和deleted条件
  • 华三HCL模拟器安装及华三防火墙配置
  • MySQL基础---库的操作和表的操作(配着自己的实操图,简单易上手)
  • 【6】第一个Java程序:Hello World
  • pytorch神经网络训练(AlexNet)
  • 构建大语言模型友好型网站
  • Git代码冲突原理与三路合并算法
  • 聆思CSK6大模型开发板英语评测类开源SDK详解
  • 通用大模型VS垂直大模型,你更青睐哪一方?
  • Python第二语言(十四、高阶基础)
  • python脚本之调用其他目录脚本
  • C# 事件(Event)定义及其使用
  • 2.负载压力测试
  • 【AI工具】jupyter notebook和jupyterlab对比和安装
  • Linux 基本指令3
  • 在Linux系统中,可以使用OpenSSL来生成CSR(Certificate Signing Request)、PEM格式的公钥和PEM格式的私钥。
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 团队派遣(100分) - 三语言AC题解(Python/Java/Cpp)