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 ...
随机推荐
- MOB 短信验证
工具/原料 Android Studio mob SDK中的jar 和.so文件 方法/步骤 1 把3个jar 放入libs 并添加依赖 在项目的build.gradle里面 在你的项 ...
- python运算符和表达式
算术运算符: 比较运算符: 赋值运算符: 位运算符: 逻辑运算符: 身份运算符: 成员运算符: 运算符优先级:
- loopback 01
关于loopback的相关blog 安装: 官网 $ mkdir office-supplies $ cd office-supplies $ slc loopback $ slc loopback: ...
- BZOJ 2631 Tree ——Link-Cut Tree
[题目分析] 又一道LCT的题目,LCT只能维护链上的信息. [代码] #include <cstdio> #include <cstring> #include <cs ...
- hdu 1059 Dividing
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...
- Backbone.js学习之二
经历一段自我修炼,终于领悟到Backbone.js的关键知识点,也发现了原来MVC可以在前端这样梦幻的发挥,Backbone.js确实是一个很有魅力的前端MVC框架. 练就一门技术,需要有扎实的功底, ...
- 生理周期[PKU1006]
生理周期 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 132195 Accepted: 42171 Descripti ...
- HDU 3090 (贪心)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3090 题目大意:一共n段路.每段路每千米都会被抢劫一定数量,可以雇佣武士护卫m千米.问最少被抢劫数量 ...
- Leetcode Validate Binary Search Tree
Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as ...
- win8.1上wamp环境中利用apache自带ab压力测试工具使用超简单讲解
2015.10.4apache自带ab压力测试工具使用:本地环境:win8.1 wampserver2.5 -Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b 可以参考一 ...