js 页码分页的前端写法
<script type="text/javascript">
var curPage = 1;//当前页码
var total;//总页数
$(function () {
loadPage(curPage)
});
function loadPage(page) {
$.get("/API/News/GetByPage.ashx", { currentPage: page }, function (obj) {
total = obj.TotalPage;
var ul = $("#newsList").empty();
$.each(obj.Info, function (i, e) {
var li = $('<li style="color:#494053"> <a href="/HtmlContainer/News/' + e.newsId + '.html">' + e.newsTitle + '</a>' +
'<span style="float:right;">' + formatDate(e.newsAddtime.replace('T', ' '), "yyyy-MM-dd") + '</span> </li>');
li.appendTo(ul);
});
pageBarChange(page);
}, "json");
}
function pageBarChange(page) {
var frontSpac = 5,totalSpac=9;
curPage = page;//parseInt($("#pageNum").val()) + 1;
//$("#pageNum").val(curPage);
var start = 1;
if ((curPage - frontSpac) > 1 && (total - curPage) > frontSpac) {
start = curPage - frontSpac;
}
else if (total - curPage <= frontSpac) {
start = total - totalSpac;
}
var html = '<a href="#" onclick="prev()"> << </a>';
for (var i = start; i <= start + totalSpac; i++) {
if (i == curPage) {
html += '<a class="current">' + i + '</a>';
continue;
}
html += ' <a class="pageNum" href="javascript:void(0)" relid=' + i + '>' + i + '</a>';
}
//加载最后一个按钮的情况
if (total - curPage <= frontSpac) {
var temp = (curPage + 1) > total ? total : (curPage + 1);
html += ' <a class="pageNum" href="javascript:void(0)" relid=' + temp + '> </a><a onclick="next()" href="javascript:void(0)"> >> </a>';
}
else {
html += '... <a class="pageNum" href="javascript:void(0)" relid=' + total + '>' + total + '</a> <a onclick="next()" href="javascript:void(0)"> >> </a>';
}
$("#pageBar").empty().append($(html));
$("#pageBar .pageNum").bind("click", function () {
var page1 = parseInt($(this).attr("relid"));
loadPage(page1);
// pageBarChange(page1);
});
}
function prev() {
if ((curPage - 1) <= 0) {
return;
}
loadPage(--curPage);
// pageBarChange(--curPage);
}
function next() {
if ((curPage + 1) > 18) {
return;
}
loadPage(++curPage);
// pageBarChange(++curPage);
}
</script>
效果:
页码分页的前端写法
js 页码分页的前端写法的更多相关文章
- JS重构分页
JS重构分页 很早以前写过一个Jquery分页组件,但是当时写的组件有个缺点,当时的JS插件是这样设计的:比如:点击 --> 查询按钮 ---> 发ajax请求 返回总页数和所有数据, ...
- C#设计模式总结 C#设计模式(22)——访问者模式(Vistor Pattern) C#设计模式总结 .NET Core launch.json 简介 利用Bootstrap Paginator插件和knockout.js完成分页功能 图片在线裁剪和图片上传总结 循序渐进学.Net Core Web Api开发系列【2】:利用Swagger调试WebApi
C#设计模式总结 一. 设计原则 使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.并且,在进行设计的时候,也需要遵循以下几个原则:单一职责原则.开放封闭原则.里氏代替 ...
- 纯js手动分页
昨天让做个页面,后台提供所有数据,没有做好分页,需要前端js手动分页. 我参考了 http://www.cnblogs.com/jiechn/p/4095029.html 做了些许改动让分页效果更加完 ...
- 单篇文章JS模拟分页
废话部分 前两天做了一个前台分页插件,支持ajax读取数据绑定前台 和 url带页码参数跳转两种方式.于是稍加改动,做了一个单篇文章js模拟分页的代码,为什么说是模拟分页呢?因为在服务器响应HTML请 ...
- js页码生成库,一个适合前后端分离的页码生成器
原文:js页码生成库,一个适合前后端分离的页码生成器 前言 上星期写的任务里面有需要进行分页的处理,git搜索了一番,没有觉得合适的,于是自己临时写了个分页的算法. 然后等闲下来的时候,决定把分页进行 ...
- Spring Data Jpa+SpringMVC+Jquery.pagination.js实现分页
本博客介绍基于Spring Data这款orm框架加上Jquery.pagination插件实现的分页功能. 介绍一下Spring Data框架 spring Data : Spring 的一个子项目 ...
- 原生js版分页插件
之前我在自己的博客里发表了一篇用angularJs自定义指令实现的分页插件,今天简单改造了一下,改成了原生JavaScript版本的分页插件,可以自定义一些简单配置,特此记录下来.如有不足之处,欢迎指 ...
- vue+element的表格分页和前端搜索
1.前端后台管理会存在很多表格,表格数据过多就需要分页;2.前端交互每次搜索如果都请求服务器会加大服务器的压力,所以在数据量不是很大的情况下可以一次性将数据返回,前端做检索3.下面贴上一个demo & ...
- 原生JS实现分页效果2.0(新增了上一页和下一页,添加当前元素样式)
虽然写的很烂,但至少全部都是自己写的,因为这个没有固定的顺序,所以就没有封装,如果你技术好的话,可以你写的分享给我,谢谢. <!DOCTYPE html><html lang=&qu ...
随机推荐
- Java学习笔记(五)——数组
一.数组使用方法 1. 声明数组 语法: 数据类型[ ] 数组名: 或者 数据类型 数组名[ ]: 其中,数组名可以是任意合法的变量名 2. 分配空间 简单地说,就是指定数组中最多可存储多少个元素 ...
- android之SharedPreferes
Android应用开发SharedPreferences存储数据的使用方法 SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的 ...
- Excel动态合并行、合并列
背景: 在北京工作的时候,又一次同事问了我这样一个问题,说我要把从数据库获取到的数据直接通过NPOI进行导出,但是我对导出的格式要特殊的要求,如图: 冥思苦想,最终顺利帮同事解决问题,虽然有点瑕疵,但 ...
- hdu 3037 Saving Beans Lucas定理
Saving Beans Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- CLR 初步
1. 源代码编译为托管模块 程序在.NET框架下运行,首先要将源代码编译为 托管模块.CLR是一个可以被多种语言所使用的运行时,它的很多特性可以用于所有面向它的开发语言.微软开发了多种语言的编译器,编 ...
- SpringHttpInvoker解析1-使用示例
HTTP invoker是一个新的远程调用模型,作为Spring框架的一部分,来执行基于HTTP的远程调用(让防火墙可以接受),并使用Java的序列化机制. 服务端 定义服务接口UserService ...
- (转)ACM next_permutation函数
转自 stven_king的博客 这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件<algorithm>下面是以前的笔记 (1) int 类型的next_permuta ...
- react-基础(2)
表单相关 固定的几个属性和事件 value: <input>,<textarea>; checked: <input> typeof checkbox, radio ...
- mongodb学习03 操作详解
插入文档 db.test.insert({"name":"jinks"}); 批量插入 db.test.insert([{}, {}, {}]); 一次批量插入 ...
- C#函数与SQL储存过程
一点点小认识作为memo,求指正. C#的函数与SQL的储存过程有很多的相似性, 它们都是一段封闭的代码块,来提高代码的重用性,虽然现在复制粘贴很方便,但是我们在写多个函数的时候频繁的复制粘贴相同的内 ...