zoukankan      html  css  js  c++  java
  • js下 Day18、综合案例

    一.分页

    效果图:

    img

    功能思路分析:

    分页就是将所有的数据按指定条数分成若干份: 假如有24条数据,每页只显示5条,则需要分成Math.ceil(24 / 5) = 5页; 每次只显示1页数据,所以需要在总数据中利用slice截取出1页数据渲染

    每一页的数据分布如下:

    第一页: 显示1 - 5条数据 截取 data.slice(0,5)

    第二页: 显示6 - 10条数据 截取 data.slice(5,10)

    第三页: 显示11 - 15条数据 截取 data.slice(10,15)

    总结:

    截取数据的开始下标为 : **( ** 页码-1)*条数

    截取数据的结束下标为 : 开始下标+条数

    1. 面向对象框架

    img

    img

    2. 数据渲染

    1. 封装一个render()方法写渲染,每次渲染的数据不同,通过传参获取

    2. 通过**map().join(‘’)**渲染到指定盒子中

    img

    **3. ** 页码渲染

    1.封装一个**renderPage()**方法,拿到总页码,总页码 = 数据总条数/每页条数

    2.使用for循环渲染页码

    3.设置当前页码高亮

    img

    **4. ** 页码切换

    1.在各种事件中,都需要根据截取的数据,重新调用渲染数据和渲染页码方法,所以封装一个公用的use方法集中调用

    img

    2.给页码大盒子绑定点击事件,利用事件委托找到每一个切换分页按钮

    3.点击下一页,当前页码++,最大限定,调用渲染方法,传递下一页数据

    4.点击上一页,当前页码--,最小为1,调用渲染方法,传递上一页数据

    5.点击分页器,当前页码 = 事件源.innerHTML,调用渲染方法,传递数据

    img

    5. 条数切换

    给条数下拉列表绑定change事件,改变后重新调用渲染,修改当前页码为1

    img

    6. 排序

    1.给排序下拉列表绑定change事件,使用sort()方法进行排序

    2.根据下拉列表的value值进行排序

    3.等级是字母需要利用charCodeAt()转码后排序

    4.排序后重新调用渲染方法

    img

    7. 模糊搜索

    1. 给文本框绑定失去焦点事件blur,根据文本框的内容去筛选数据(filter())

    2. 根据筛选后的数据重新调用渲染方法

    img

    #二.今日小结

    1. 分页中截取数据的开始下标为 : **( ** 页码-1)*条数

    2. 分页中截取数据的结束下标为 : 开始下标+条数

    3. 分页中获取页码: Math.ceil(总条数/每页条数)

    4. 数组方法: **filter() ** 筛选 slice()截取 sort()排序

    5. 查找字符串返回布尔值: includes()

    #三.作业 -- 楼层

    效果图:

    img

    功能思路分析:

    1. 自己模拟数据,渲染菜单和列表(每道菜的信息需要包括:图片,标题,价格)

    2. 点击每一道菜出现弹窗,弹窗内显示对应的图片、菜名和价钱(渐隐渐现的动画效果,通过修改opacity实现)

    3. 弹框是用面向对象封装好的,此处只需要new实例化调用

    4. 点击价格,按照价格从高到低对数据进行排序(sort())

    5. 再次点击,按照价格从低到高进行排序

  • 相关阅读:
    html5 laboratory
    Lind.DDD.LindAspects方法拦截的介绍
    MongoDB学习笔记~对集合属性的操作
    MongoDB学习笔记~数据模型属性为集合时应该为它初始化
    异步与并行~List<T>是线程安全的吗?
    基础才是重中之重~Emit动态构建方法(参数和返回值)
    XML和DTD的简单介绍和入门
    一些常用的Intent及intent-filter的信息
    最新县及县以上行政区划代码(截止2013年1月18日) 全国省市县数据库 之省市数据
    CRC32 vs Java.HashCode
  • 原文地址:https://www.cnblogs.com/yzy521/p/14132584.html
Copyright © 2011-2022 走看看