现在的位置: 首页 > 综合 > 正文

分页

2013年08月09日 ⁄ 综合 ⁄ 共 3687字 ⁄ 字号 评论关闭
$(document).ready(function() {
(function() {
		var pagecontrol = arguments[0];
		pagecontrol.page.ready(function() {
					pageAjax(1);
				});

		function page(obj, element, numbtn) {
			// json格式:{"currentPage":1,"data":[{},{}],"nextPage":0,"pageSize":2,"prevPage":2,"result":"0000","total":16}
			var page = $("<div id='pageCommentBar' class='page'/>");
			var pagebtn = '<ul class="turn">';
			pagebtn += obj.currentPage == 1
					? '<li title="上一页" class="pre"><span>上一页</span></li>'
					: '<li title="上一页" class="pre"><a href="' + obj.prevPage
							+ '">上一页</a></li>';

			pagebtn += obj.currentPage == obj.total
					? '<li title="下一页" class="pre"><span>下一页</span></li>'
					: '<li title="下一页" class="next"><a href="' + obj.nextPage
							+ '">下一页</a></li>';
			pagebtn += '</ul>'

			var numbers = '<ul class="numbers">';
			if (obj.total <= numbtn) {
				for (var i = 1; i <= obj.total; i++) {
					numbers += getPageStr(i, obj.currentPage);
				}
			} else {
				if (obj.currentPage <= window.parseInt(numbtn / 2, 10) + 1) {
					for (var i = 1; i <= numbtn; i++) {
						numbers += getPageStr(i, obj.currentPage);
					}
					numbers += '<li class="pass">...</li><li><a href="'
							+ obj.total + '">' + obj.total + '</a></li>';
				} else if (obj.currentPage >= obj.total
						- window.parseInt(numbtn / 2, 10)) {
					numbers += '<li><a href="1">1</a></li><li class="pass">...</li>';
					for (var i = numbtn; i >= 1; i--) {
						numbers += getPageStr(obj.total - i + 1,
								obj.currentPage);
					}

				} else if (obj.currentPage > window.parseInt(numbtn / 2, 10)
						+ 1) {
					numbers += '<li><a href="1">1</a></li><li class="pass">...</li>';
					for (var i = window.parseInt(numbtn / 2); i >= 1; i--) {
						numbers += '<li><a href="' + (obj.currentPage - i)
								+ '">' + (obj.currentPage - i) + '</a></li>';
					}
					numbers += '<li class="current"><span>' + obj.currentPage
							+ '</span></li>';
					for (var i = 1; i <= window.parseInt(numbtn / 2); i++) {
						numbers += '<li><a href="' + (obj.currentPage + i)
								+ '">' + (obj.currentPage + i) + '</a></li>';
					}
					numbers += '<li class="pass">...</li><li><a href="'
							+ obj.total + '">' + obj.total + '</a></li>';
				}
			}
			numbers += '</ul>';
			page.append(pagebtn);
			page.append(numbers);
			page.find("a").on("click", function() {
						pageAjax($(this).attr("href"));
						return false;
					});
			$(element).html("");
			$(element).append(page)
					.append('<div style="clear: both;font-size: 0px;"></div>');
		}
		function getPageStr(i, currentPage) {
			return currentPage == i ? '<li class="current"><span>' + i
					+ '</span></li>' : '<li><a href="' + i + '" >' + i
					+ '</a></li>';
		};
		function pageAjax(pageIndex) {
			var start = (pageIndex - 1) * pagecontrol.pageSize;
			$.ajax({
						type : "POST",
						url : "/Spring/page.action",
						data : {
							"pv.pageIndex" : start,
							"pv.pageSize" : pagecontrol.pageSize
						},
						dataType : "json",
						success : function(msg) {
							if (msg.result == "0000") {
								page(msg, pagecontrol.page, pagecontrol.numbtn);
								$("#pageCon").html(getPageCon(msg));
							} else {
								pagecontrol.page.html(msg.result);
							}
						}
					});
		};
		// 要显示的数据格式
		function getPageCon(obj) {
			var str = "<div>";
			for (var i = 0; i < obj.data.length; i++) {
				str += '<div><span>' + obj.data[i].ID + '</span><span>'
						+ obj.data[i].CONTENT + '</span><span>'
						+ new Date(obj.data[i].DATETIME.time).toLocaleString()
						+ '</span></div>';
			};
			str += "</div>";
			return str;
		}
	})({
				"page" : $("#page"),
				"numbtn" : 9,
				"pageSize" : 2
			});
});

@CHARSET "UTF-8";
html, body, div, span, a, ul, li{
    margin: 0;
    padding: 0;
}
.page{
	color: #014CCC;
    font-size: 14px;
    margin-top: 20px;
}
.page ul{
	list-style-type: none;
	float: right;
}
.page ul li{
	float: left;
	margin-right: 3px;
	height: 20px;
	line-height: 20px;
}
.page .turn{
	width: 150px;
}

.page a {
    text-decoration: none;
    cursor: pointer;
    color: #014CCC;
    font-size: 14px;
}

.page .turn span {
    color: #C6C6C6;
    cursor: default;
}
.page .turn a, .page .turn span {
    border: 1px solid #E5E5E5;
    display: block;
    height: 20px;
    line-height: 22px;
    text-align: center;
    width: 48px;
}

.page li.pass {
    color: #909090;
    font: 12px/20px arial,helvetica,verdana,tahoma,sans-serif;
    line-height: 12px;
    font-weight: bold;
}
.page .numbers a:hover {
	border: 1px solid #c6c6c6;
	padding: 0 4px;
}
.page .numbers li a, .page .numbers  li span {
    display: block;
    float: left;
    font-size: 14px;
    overflow: hidden;
   	padding: 0 5px;
}
.page .current span {
    background: none repeat scroll 0 0 #C6C6C6;
    color: #FFFFFF;
    cursor: default;
    font-weight: bold;
    height: 22px;
    line-height: 22px;
}

抱歉!评论已关闭.