使用js实现HTML静态页面表格数据分页(表头保持不变)

18 篇文章 1 订阅
4 篇文章 0 订阅

这是最终实现的效果图

静态分页最终效果

下面是Html代码

<table id="pageListTable">
	<thead>
		<tr>
			<th style="text-align: center;">...</th>
			<th style="text-align: center;">...</th>
			<th style="text-align: center;">...</th>
			<th style="text-align: center;">...</th>
		</tr>
		<tr>
			<th style="text-align: center;">...</th>
			<th style="text-align: center;">...</th>
			<th style="text-align: center;">...</th>
			<th style="text-align: center;">...</th>
		</tr>
		<tr>
			<th style="text-align: center;">...</th>
			<th style="text-align: center;">...</th>
			<th style="text-align: center;">...</th>
			<th style="text-align: center;">...</th>
		</tr>
	</thead>
	<tbody id="pageListTableBody">
		<tr>
			<td style="text-align: center;">...</td>
			<td style="text-align: center;">...</td>
			<td style="text-align: center;">...</td>
			<td style="text-align: center;">...</td>
		</tr>
		<tr>
			<td style="text-align: center;">...</td>
			<td style="text-align: center;">...</td>
			<td style="text-align: center;">...</td>
			<td style="text-align: center;">...</td>
		</tr>
		<tr>
			<td style="text-align: center;">...</td>
			<td style="text-align: center;">...</td>
			<td style="text-align: center;">...</td>
			<td style="text-align: center;">...</td>
		</tr>
	</tbody>
</table>
<div id="pages" style="float: right;">
   <span id="spanFirst">首页</span>
    <span id="spanPre">上一页</span>
    <span id="spanNext">下一页</span>
    <span id="spanLast">尾页</span><strong id="spanPageNum"></strong>页/共
    <strong id="spanTotalPage"></strong></div>
</div>

下面是js代码块

	var theUL = document.getElementById("pageListTableBody");
    var totalPage = document.getElementById("spanTotalPage");
    var pageNum = document.getElementById("spanPageNum"); //获取当前页<span>
    var spanPre = document.getElementById("spanPre"); //获取上一页<span>
    var spanNext = document.getElementById("spanNext"); //获取下一页<span>
    var spanFirst = document.getElementById("spanFirst"); //获取第一页<span>
    var spanLast = document.getElementById("spanLast"); //获取最后一页<span>
    var numberRowsInTable = theUL.getElementsByTagName("tr").length; //记录总条数
    var pageSize = 10; //每页显示的记录条数
    var page = 1; //当前页,默认第一页

    //下一页
    function next(){
        hideTable();
        currentRow = pageSize * page;
        maxRow = currentRow + pageSize;
        if ( maxRow > numberRowsInTable ) maxRow = numberRowsInTable;
        for ( var i = currentRow; i< maxRow; i++ ){
            theUL.getElementsByTagName("tr")[i].style.display = '';
        }
        page++;
        if ( maxRow == numberRowsInTable ) {
            nextText();
            lastText();
        }
        showPage();
        preLink();
        firstLink();
    }

    //上一页
    function pre(){
        hideTable();
        page--;
        currentRow = pageSize * page;
        maxRow = currentRow - pageSize;
        if ( currentRow > numberRowsInTable ) currentRow = numberRowsInTable;
        for ( var i = maxRow; i< currentRow; i++ ){
            theUL.getElementsByTagName("tr")[i].style.display = '';
        }
        if ( maxRow == 0 ){
            preText();
            firstText();
        }
        showPage();
        nextLink();
        lastLink();
    }

    //第一页
    function first(){
        hideTable();
        page = 1;
        for ( var i = 0; i<pageSize; i++ ){
            theUL.getElementsByTagName("tr")[i].style.display = '';
        }
        showPage();
        firstText();
        preText();
        nextLink();
        lastLink();
    }

    //最后一页
    function last(){
        hideTable();
        page = pageCount();
        currentRow = pageSize * (page - 1);
        for ( var i = currentRow; i<numberRowsInTable; i++ ){
            theUL.getElementsByTagName("tr")[i].style.display = '';
        }
        showPage();
        preLink();
        nextText();
        firstLink();
        lastText();
    }

    function hideTable(){
        for ( var i = 0; i<numberRowsInTable; i++ ){
            theUL.getElementsByTagName("tr")[i].style.display = 'none';
        }
    }

    function showPage(){
        pageNum.innerHTML = page;
    }

    //总共页数
    function pageCount(){
        return Math.ceil(numberRowsInTable/pageSize);
    }
    //显示链接
    function preLink(){
        spanPre.innerHTML = "<a href='javascript:pre();'>上一页</a>";
    }
    function preText(){
        spanPre.innerHTML = "上一页";
    }
    function nextLink(){
        spanNext.innerHTML = "<a href='javascript:next();'>下一页</a>";
    }
    function nextText(){
        spanNext.innerHTML = "下一页";
    }
    function firstLink(){
        spanFirst.innerHTML = "<a href='javascript:first();'>首页</a>";
    }
    function firstText(){
        spanFirst.innerHTML = "首页";
    }
    function lastLink(){
        spanLast.innerHTML = "<a href='javascript:last();'>末页</a>";
    }
    function lastText(){
        spanLast.innerHTML = "末页";
    }

    //隐藏
    function hide(){
        for ( var i = pageSize; i<numberRowsInTable; i++ ){
            theUL.getElementsByTagName("tr")[i].style.display = 'none';
        }
        totalPage.innerHTML = pageCount();
        pageNum.innerHTML = '1';
        nextLink();
        lastLink();
    }
    hide();

参考链接

  • 2
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这张静态页面实现可以使用HTML,CSS和JavaScriptHTML可以用来构建页面的结构和内容,例如标题,段落,图片等。 CSS可以用来给页面元素添加样式,例如字体,颜色,布局等。 JavaScript可以用来添加交互和动态效果,例如弹出框,轮播图等。 要实现这张图片,需要用HTML先构建页面的结构,然后使用CSS给页面元素添加样式,最后使用JavaScript添加交互和动态效果。 ### 回答2: 使用HTML、CSS和JavaScript可以很容易地实现这张静态页面。首先,我们可以使用HTML来构建页面的基本结构和布局。在HTML中,我们可以使用<div>、<header>、<nav>、<section>、<article>、<footer>等元素来划分页面的不同区域和部分,并使用适当的标签来标识它们的作用。 接下来,使用CSS来美化页面,包括设置背景、字体、颜色、边框、大小等样式。我们可以使用CSS选择器来选择特定的元素,并为其应用样式。使用CSS框模型可以使页面在不同屏幕上具有良好的响应性和适应性。 最后,使用JavaScript来为页面添加交互功能。我们可以使用JavaScript选择指定的元素,并为它们添加事件处理程序。例如,当用户点击按钮时,我们可以使用JavaScript来执行相应的操作,如显示弹出窗口、发送请求或切换元素的可见性。 综上所述,使用HTML、CSS和JavaScript可以实现这张静态页面。通过合理的结构和布局、美化样式和交互功能,我们可以为用户提供良好的使用体验。 ### 回答3: 使用HTML、CSS和JavaScript实现静态页面可以分为以下几个步骤: 1. HTML:首先,我们需要创建一个空的HTML文件。然后,可以使用HTML标签来构建页面的结构。根据图片,我们需要创建一个包含标题、导航栏、内容和页脚的页面结构。 2. CSS:接下来,我们可以使用CSS来为页面添加样式。根据图片,我们可以设置页面的背景、文字颜色、字体等。同时,还可以使用CSS来控制页面的布局,如设置导航栏和内容的位置、大小等。 3. JavaScript:最后,我们可以使用JavaScript实现页面的交互效果。根据图片,我们可以使用JavaScript实现鼠标移动、点击等事件的响应。例如,当鼠标移动到导航栏上时,可以改变导航栏的颜色;当点击某个按钮时,可以显示其他内容等。 总结来说,使用HTML、CSS和JavaScript实现静态页面需要先建立页面的结构(HTML),然后添加样式(CSS),最后实现交互效果(JavaScript)。通过这三者的结合,我们可以实现一个与图片相似的静态页面

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值