zoukankan      html  css  js  c++  java
  • 前端实现数组里面几万条数据,做到不卡顿

    window.requestAnimationFrame()告诉浏览器——你希望执行一个动画,并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函数作为参数,该回调函数会在浏览器下一次重绘之前执行。

    requestAnimationFrame跟setTimeout/setInterval差不多,通过递归调用同一方法来不断更新画面以达到动起来的效果,但它优于setTimeout/setInterval的地方在于它是由浏览器专门为动画提供的API,在运行时浏览器会自动优化方法的调用,并且如果页面不是激活状态下的话,动画会自动暂停,有效节省了CPU开销。

    function refresh(total, onceCount) {
      //total -> 渲染数据总数 onceCount -> 一次渲染条数
      let count = 0, //初始渲染次数值
        loopCount = total / onceCount //渲染次数
      function refreshAnimation() {
        /*
        * 在此处渲染数据
        */
        if (count < loopCount) {
          count++
          requestAnimationFrame(refreshAnimation)
        }
    
  • 相关阅读:
    Linux命令:ls
    Log4j:log4j.properties 配置解析
    PostgreSQL: WITH Queries (Common Table Expressions)
    Linux使用SecureCRT上传下载
    PostgreSQL 自动输入密码
    Linux命令:rmdir
    Linux命令:mkdir
    Linux命令:pwd
    Linux命令:cd
    正则表达式 
  • 原文地址:https://www.cnblogs.com/whkl-m/p/12918125.html
Copyright © 2011-2022 走看看