Script phân trang cho bảng
Thứ Hai, 31 tháng 10, 2011
DEMO
Để phân trang cho bảng như vậy, bạn hãy thực hiện như sau:
Bước 1. Đăng nhập Blogger, vào Design >> Edit HTML. Đặt đoạn code sau đây vào trước thẻ </head>.
- <script type="text/javascript">
- //<![CDATA[
- function Pager(tableName, itemsPerPage) {
- this.tableName = tableName;
- this.itemsPerPage = itemsPerPage;
- this.currentPage = 1;
- this.pages = 0;
- this.inited = false;
- this.showRecords = function(from, to) {
- var rows = document.getElementById(tableName).rows;
- // i starts from 1 to skip table header row
- for (var i = 1; i < rows.length; i++) {
- if (i < from || i > to)
- rows[i].style.display = 'none';
- else
- rows[i].style.display = '';
- }
- }
- this.showPage = function(pageNumber) {
- if (! this.inited) {
- alert("not inited");
- return;
- }
- var oldPageAnchor = document.getElementById('pg'+this.currentPage);
- oldPageAnchor.className = 'pg-normal';
- this.currentPage = pageNumber;
- var newPageAnchor = document.getElementById('pg'+this.currentPage);
- newPageAnchor.className = 'pg-selected';
- var from = (pageNumber - 1) * itemsPerPage + 1;
- var to = from + itemsPerPage - 1;
- this.showRecords(from, to);
- }
- this.prev = function() {
- if (this.currentPage > 1)
- this.showPage(this.currentPage - 1);
- }
- this.next = function() {
- if (this.currentPage < this.pages) {
- this.showPage(this.currentPage + 1);
- }
- }
- this.init = function() {
- var rows = document.getElementById(tableName).rows;
- var records = (rows.length - 1);
- this.pages = Math.ceil(records / itemsPerPage);
- this.inited = true;
- }
- this.showPageNav = function(pagerName, positionId) {
- if (! this.inited) {
- alert("not inited");
- return;
- }
- var element = document.getElementById(positionId);
- var pagerHtml = '<span onclick="' + pagerName + '.prev();" class="pg-normal"> « Prev </span> | ';
- for (var page = 1; page <= this.pages; page++)
- pagerHtml += '<span id="pg' + page + '" class="pg-normal" onclick="' + pagerName + '.showPage(' + page + ');">' + page + '</span> | ';
- pagerHtml += '<span onclick="'+pagerName+'.next();" class="pg-normal"> Next »</span>';
- element.innerHTML = pagerHtml;
- }
- }
- //]]>
- </script>
Bước 2. Đặt đoạn CSS sau đây vào trước dòng ]]></b:skin> để định dạng các thuộc tính cho phần phân trang:
- .pg-normal {
- color: red;
- font-weight: normal;
- text-decoration: none;
- cursor: pointer;
- }
- .pg-selected {
- color: black;
- font-weight: bold;
- text-decoration: underline;
- cursor: pointer;
- }
Lưu Template.
Bước 3. Khi tạo nội dung trong một bài viết nào đó, hãy sử dụng cấu trúc HTML cho bảng dưới dạng như sau (ở đây demo bảng có 3 cột và 9 dòng để phân trang thành 3 trang, bạn có thể vận dụng linh hoạt):
- <table id="results">
- <tr>
- </tr>
- <tr>
- </tr>
- <tr>
- </tr>
- <tr>
- </tr>
- <tr>
- </tr>
- <tr>
- </tr>
- <tr>
- </tr>
- <tr>
- </tr>
- <tr>
- </tr>
- <tr>
- </tr>
- </table>
- <script type="text/javascript"><!--
- var pager = new Pager('results', 3);
- pager.init();
- pager.showPageNav('pager', 'pageNavPosition');
- pager.showPage(1);
- //--></script>
Ở đoạn script trên thì số 3 biểu thị số dòng mỗi trang, bạn có thể điều chỉnh tùy theo trường hợp áp dụng của bạn.
Tăng cỡ chữ
Mặc định
Giảm cỡ chữ
Liên hệ mail: tpm1512@yahoo.com và xem tất cả bài viết trang này
Tại đây
Nhấn vào theo dõi thăm trang web của Trần Phúc Minh
-
https://yogaso1.blogspot.com/2011/10/script-phan-trang-cho-bang.html
Minh cám ơn bạn đã quan tâm và rất vui vì bài viết đã đem lại thông tin hữu ích cho bạn.
MENU
Sản phẩm
Trang chủ
Nổi bậc
Tiện ích
Tài khoản
Tác vụ
YOUTUBE
Trang chủ
Lên trên
Tổng số Bình luận [ 0]
Đăng nhận xét