美文网首页
快速实现-简单分页器优化考虑(1)

快速实现-简单分页器优化考虑(1)

作者: 贝程学院_前端 | 来源:发表于2019-07-17 11:58 被阅读0次

1. 数据的本地存储

  1. 在短时间内点击页码的时候,我们是可以选择先不请求数据的,
  2. 也就是说,在快速重复点击的时候,我们可以不作为
  3. 某页码第一次请求数据,我们可以记录下时间戳,并且存储在localStorage
    3.1 在短时间再次点击该页码的同时,可以先从localStorage中取出,并对比时间间隔,如果时间间隔过长,我们可以请求新的数据,如果时间间隔过短,我们可以采用本地数据
localStorage:HTML5新增本地存储,可以永久性存储5MB左右的数据

只能存储字符串类型
复杂数据类型可使用JSON对象的stringify和parse来处理

方法:
setItem (key, value) —— 保存数据,以键值对的方式储存信息
getItem (key) —— 获取数据,将键值传入,即可获取到对应的value值
removeItem (key) —— 删除单个数据,根据键值移除对应的信息。
clear () —— 删除所有的数据
key (index) —— 获取某个索引的key

优点:

  1. 节省网络流量:WebStorage不会传送到服务器,存储在本地的数据可以直接获取
  2. 快速显示: 数据存储在WebStorage上,再加上浏览器本身的缓存,获取数据时从本地获取会比从服务器端获取速度更快

2. 事件的代理

  1. 因为数据的灵活性,页码的个数是不定的,并且每个页码的功能是一样的,我们无需给每个页码添加事件处理程序,这样的可以节省内存
  2. 给父元素添加事件处理程序:采用事件冒泡原理+事件目标,完成切换页码的功能

首先每个函数都是对象,都会占用内存,内存中对象越多,性能越差
必须事先指定所有事件处理程序,然后这个导致DOM访问次数过多,会延迟整个页面的交互就绪事件

优点:
在页面上设置事件处理程序所需时间更少
占用内存空间更少,提升整体性能

冒泡原理

事件开始时又最具体的元素接收,然后逐级向上传播到较为不具体的节点(由深至浅)
所有现代浏览器都支持事件冒泡一直会冒泡到window对象上

事件目标
  1. 存在于事件对象中:event.target 或者 event.srcElement
  2. 指的是触发事件的具体元素,而不是事件处理程序中的this(this指的是绑定事件处理程序的元素)

相关文章

  • 快速实现-简单分页器优化考虑(1)

    1. 数据的本地存储 在短时间内点击页码的时候,我们是可以选择先不请求数据的, 也就是说,在快速重复点击的时候,我...

  • 快速实现-简单的分页器

    首先形形色色的分页器大家肯定都看过,这一次就快速实现一个简单的分页器,应该不会耽搁太久吧~ 先来看一下简洁布局: ...

  • 快速实现-简单分页器(下)

    上一节的分页器只能实现简单的效果,是无法点击到中间页码的 这一节,我们需要稍微改造一下 考虑问题: 当点击到5, ...

  • 快速实现-简单分页器(上)

    首先形形色色的分页器大家肯定都看过,这一次就快速实现一个简单的分页器,应该不会耽搁太久吧~ 先来看一下简洁布局: ...

  • MYSQL分页limit速度太慢优化方法

    在mysql中limit可以实现快速分页,但是如果数据到了几百万时我们的limit必须优化才能有效的合理的实现分页...

  • MYSQL分页limit速度太慢优化方法

    MySQL 百万级分页优化(Mysql千万级快速分页)(转) MYSQL分页limit速度太慢优化方法 MYSQL...

  • Django插件pagination实现页面分页功能

    1.dj-pagination 这是一个专门分页的Django插件,可以快速的实现数据分页。官方文档[http:/...

  • MyBatis使用拦截器实现分页功能

    mybatis的拦截器实现分页(动态代理) 拦截sql语句来实现分页1.拦截什么样的对象(以page作为参数传入;...

  • (五)Swiper分页器

    (1) 本节知识点 使用分页器: pagination 分页器样式: paginationType 分页器可点: ...

  • PHP与mysql的分页功能

    今天想实现博客内容的分页,想通过源代码来实现简单的分页,在网上搜索了相关原理,了解到一些内容,大致如下: 1.分页...

网友评论

      本文标题:快速实现-简单分页器优化考虑(1)

      本文链接:https://www.haomeiwen.com/subject/mbkqlctx.html