最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用JS實現(xiàn)數(shù)字增長

 更新時間:2016年07月28日 17:26:26   投稿:daisy  
做項目時候常常遇到,要做一個數(shù)字滾動增加的效果。如何利用JavaScript實現(xiàn)數(shù)字增長效果,一起來跟本文學(xué)習(xí)學(xué)習(xí)。

上次在項目中碰到要實現(xiàn)數(shù)字增長的效果,實現(xiàn)數(shù)字從0到目標(biāo)數(shù)的增長,來看看效果圖

現(xiàn)在把它擴展開來可以實現(xiàn)不同效果

主要思路就兩部分

    1.每隔三個數(shù)字之間加上,

    2.實現(xiàn)動起來

對于1使用正則來完成十分的方便

this.fomatNum = function(num) {
      var str = num.toFixed(this.option.decimal);//精確到小數(shù)位數(shù)多少位
      var num1, x1, x2, reg;
      arr = str.split(".");
      x1 = arr[0];
      x2 = arr.length > 1 ? '.' + arr[1] : "";
      reg = /(\d+)(\d{3})/;
      if (this.option.isfomat) {
        while (reg.test(x1)) {
          x1 = x1.replace(reg, '$1' + "," + "$2");
        }
      }
      if (this.option.isfomat) {
        return this.option.prefix + x1 + x2;
      } else {
        return this.option.prefix + str;
      }
    }

要實現(xiàn)加起來的效果可以使用requestAnimationFrame方法,然后處理一下兼容就可以了。

var change = function() {
  var p = Math.min(1.0, (new Date().getTime() - that.startTime) / that.option.duration);//當(dāng)前時間減去開始時間,然后除以總時間,Math.min,兩個數(shù)取最小值。
  var nums = that.num * p;
  that.elm.innerHTML = that.fomatNum(that.num * p);
  if (p < 1.0) {//
     requestAnimationFrame(function() {
        change();
     });
   } else {
        cancelAnimationFrame(change);
       }
  }
  requestAnimationFrame(function() {
     change();
   });

如果要實現(xiàn)數(shù)字在可視區(qū)再動起來的效果,可以自己監(jiān)聽dom是否在可視區(qū)然后調(diào)用。

以上就是本文的全部內(nèi)容,如果有疑問歡迎大家留言探討,也謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論

弥渡县| 威海市| 鄯善县| 揭阳市| 郎溪县| 乌鲁木齐县| 仁怀市| 调兵山市| 志丹县| 沁阳市| 博湖县| 榆林市| 天气| 阿合奇县| 富裕县| 裕民县| 新兴县| 沙河市| 田东县| 临西县| 封丘县| 汾西县| 武夷山市| 胶州市| 连江县| 营山县| 万年县| 中卫市| 灵石县| 安丘市| 新郑市| 宝兴县| 庄浪县| 海伦市| 嘉善县| 建湖县| 彭泽县| 太康县| 远安县| 明光市| 根河市|