【JS案例】分页器——使用原生JavaScript实现

本文介绍了如何使用原生JavaScript实现分页器,详细解析了分页器的页面构建思路、功能实现方法,以及与Vue框架的对比,强调了Vue在可复用性和维护性方面的优势。
摘要由CSDN通过智能技术生成

   在使用vue编写完一个分页器组件后,我对分页器的底层逻辑产生了兴趣,想在此组件的基础上再深入了解一些分页器的底层逻辑,了解vue与原生js的区别。我在github上看了一些大神写的分页器,属实牛逼,之后自己也根据他们的编写逻辑,反复推敲了个七八遍,也算是对分页器的逻辑掌握的差不多了,以下则是小编对原生js编写的一些体会。
   首先我们需要明白在编写js时,我们需要在页面中创建哪些标签?标签应该赋予什么属性?分页器需要哪些数据?需要哪些函数?函数需要传哪些参数?总之,需要考虑的问题非常多,从构建到渲染再到功能实现都需要亲力亲为的。

页面构建思路:
   所有按钮用a标签表示,全部放在一个div盒子中
   点击切换的按钮有正常使用的属性值(prevPage和nextPage)和禁用属性值(disabled)
   数值页面按钮有选中时的属性值(current)和未选中的属性值

创建出来的html和css代码如下:
html代码:

<div class="page"></div>

css代码:

        a {
   
            text-decoration: none;
        }

        .page {
   
            display: table;
            margin: 100px auto;
        }

        .page a {
   
            cursor: default;
            display: inline-block;
            color: #00C9A6;
            background-color: #D9F7F2;
            height: 25px;
            font-size: 10pt;
            line-height: 25px;
            padding: 0 9px;
            border: 1px solid #D9F7F2;
            margin: 0 2px;
            border-radius: 4px;
            vertical-align: middle;
        }

        .page a:not(.disabled):not(.current):hover {
   
            border: 1px solid #00C9A6;
            cursor: pointer;
        }

        .page a.current {
   
            display: inline-block;
            font-size: 10pt;
            height: 25px;
            line-height: 25px;
            padding: 0 9px;
            margin: 0 2px;
            color: #fff;
            background-color: #00C9A6;
            border: 1px solid #00C9A6;
            border-radius: 4px;
            vertical-align: middle;
        }

        .page a.disabled {
   
            display: inline-block;
            font-size: 10pt;
            height: 25px;
            line-height: 25px;
            padding: 0 9px;
            margin: 0 2px
  • 8
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值