前端实现分页器功能的插件

1.网上找的 自己加以修改  站在巨人的肩膀上

2.样式就不在重新写了  具体情况 具体对待

html 部分

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title></title>
</head>
<link rel="stylesheet" href="css/pagation.css" />
<link rel="stylesheet" href="css/reset.css" />

<body>
<ul id="news-lis">
<li>
<div class="news-item">
<a class="news-name" href="info/1976/5086.htm" target="_blank">新闻1标题</a>
<span class="news-date">2017/12/22<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4957.htm" target="_blank">新闻2标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻3标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻4标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻5标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻6标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻7标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻8标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>

<li>
<div class="news-item">
<a class="news-name" href="info/1976/5086.htm" target="_blank">新闻9标题</a>
<span class="news-date">2017/12/22<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4957.htm" target="_blank">新闻10标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻11标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻12标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻13标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻14标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻15标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻16标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>



<li>
<div class="news-item">
<a class="news-name" href="info/1976/5086.htm" target="_blank">新闻17标题</a>
<span class="news-date">2017/12/22<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4957.htm" target="_blank">新闻18标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻19标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻20标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻21标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻22标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻23标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻24标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>


<li>
<div class="news-item">
<a class="news-name" href="info/1976/5086.htm" target="_blank">新闻25标题</a>
<span class="news-date">2017/12/22<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4957.htm" target="_blank">新闻26标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻27标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻28标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻29标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻30标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻31标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>
<li>
<div class="news-item">
<a class="news-name" href="info/1976/4956.htm" target="_blank">新闻32标题</a>
<span class="news-date">2017/12/12<span>
</div>
</li>

</ul>
<div class="c-pages">
<div class="cp-item">
<span>共</span>
<span id="cp-count">0</span>
<span>条</span>
</div>
<div class="cp-item">
<span id="curr-page">1</span>
<span>/</span>
<span id="total-page">1</span>
</div>
<div class="cp-item">
<button id="home">首页</button>
<button id="prev">上页</button>
<button id="next">下页</button>
<button id="last">尾页</button>
</div>
<div class="cp-item">
<button id="goTo">转到</button>
<input type="number" id="goToPage" />
<span>页</span>
</div>
</div>
</body>

</html>
<script type="text/javascript" src="js/jquery-1.8.2.js">
</script>
<script src="js/pagation.js" type="text/javascript" charset="utf-8"></script>

css  部分包括 一个样式重置表  (个人习惯  比较省事  和一小点样式)


body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td { margin:0; padding:0; }
body, button, input, select, textarea { font-size:15px }
h1, h2, h3, h4, h5, h6{ font-size:100%; }
address, cite, dfn, em, var { font-style:normal; }
code, kbd, pre, samp { font-family:couriernew, courier, monospace; }
small{ font-size:12px; }

a { text-decoration:none;}
sup { vertical-align:text-top; }
sub{ vertical-align:text-bottom; }
legend { color:#000; }
fieldset, img { border:0; }
button, input, select, textarea { font-size:100%; }
table { border-collapse:collapse; border-spacing:0;}

/*/下面为一点小小的样式

.news-item{
display: flex;
justify-content: space-between;
margin-bottom: 10px;
}
.c-pages{
display: flex;
justify-content: space-around;
width:30%
}

JS 部分

/**分页js函数,forpage.js,此代码需要链接在html页面底部,同时需要先加载jquery框架**/

// li jquery object array
var newsLis = $("#news-lis").children();

// total news count
var count = newsLis.length;

// max count for one page
var ONE_PAGE_COUNT = 8;

// total pages
var totalPage = parseInt(count / ONE_PAGE_COUNT) + ((count % ONE_PAGE_COUNT) == 0? 0 : 1);

// init page
var currPage = 1;

// function used to set news count
function setUICount(count) {
if (count == undefined)
count = 0;
$("#cp-count").text(count);
}

// function used to set total pages
function setUIPages(totalPage) {
totalPage = Math.max(1, totalPage);
$("#total-page").text(totalPage)
}

// update curr page
function setUICurrPage(currPage) {
currPage = Math.max(1, currPage);
$("#curr-page").text(currPage);
}

// 传入显示的page参数,显示对应页面的新闻列表,隐藏其他列表
function scanAllForShow(page) {
// page at least 1 or max totalPage
page = Math.max(1, Math.min(totalPage, page));
for (var i = 0;i < count;i++) {
if (parseInt(i / ONE_PAGE_COUNT) + 1 == page)
$(newsLis[i]).attr("style", "");
else
$(newsLis[i]).attr("style", "display: none");
}
}

function homePage() {
currPage = 1;
scanAllForShow(currPage);
setUICurrPage(currPage);
}

function nexePage() {
var last = currPage;
if (last == totalPage)
return;

scanAllForShow(++currPage);

setUICurrPage(currPage);
}

function prevPage() {
var next = currPage;
if (next <= 1)
return;

scanAllForShow(--currPage);

setUICurrPage(currPage);
}

function lastPage() {
currPage = totalPage;
scanAllForShow(currPage);
setUICurrPage(currPage);
}

function goToPage() {
var target = $("#goToPage").val();
if (target == undefined)
target = currPage;
target = Math.max(1, Math.min(totalPage, target));
currPage = target;
scanAllForShow(target);
setUICurrPage(currPage);
$("#goToPage").val("");
}

// 页面加载完成后调用此函数
function init() {
newsLis = $("#news-lis").children();
count = newsLis.length;
totalPage = count / ONE_PAGE_COUNT + ((count % ONE_PAGE_COUNT) == 0? 0 : 1);
currPage = 1;
setUICount(count);
setUIPages(totalPage);
setUICurrPage(currPage);
scanAllForShow(currPage);
// 注册点击函数
$("#home").click(homePage);
$("#prev").click(prevPage);
$("#next").click(nexePage);
$("#last").click(lastPage);
$("#goTo").click(goToPage);

}

window.onload = function() {
init();
}

猜你喜欢

转载自www.cnblogs.com/shuangjiang/p/9300560.html
今日推荐