国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

js實現簡單數字變動效果

2024-05-06 16:40:43
字體:
來源:轉載
供稿:網友

本文實例為大家分享了js實現數字變動效果展示的具體代碼,供大家參考,具體內容如下

 $.fn.countTo = function (options) { options = options || {};//當options未被初始化,即typeof options = 'undefined'時,執行后面部分即var options = {}來初始化一個對象 return $(this).each(function () {  // set options for current element  var settings = $.extend({}, $.fn.countTo.defaults, {  from:  $(this).data('from'),  to:  $(this).data('to'),  speed:  $(this).data('speed'),  refreshInterval: $(this).data('refresh-interval'),  decimals: $(this).data('decimals')  }, options);  // how many times to update the value, and how much to increment the value on each update  //更新值多少次,每次更新值多快  var loops = Math.ceil(settings.speed / settings.refreshInterval),  increment = (settings.to - settings.from) / loops;  // references & variables that will change with each update  //引用和變量每次更新將改變  var self = this,//返回html對象  $self = $(this),//返回返回一個jquery對象  loopCount = 0,  value = settings.from,  data = $self.data('countTo') || {};//獲取jauery方法對象  $self.data('countTo', data);//賦值  // if an existing interval can be found, clear it first  //如果存在間隔,則清除它  if (data.interval) {  clearInterval(data.interval);  }  data.interval = setInterval(updateTimer, settings.refreshInterval);  // initialize the element with the starting value  //用開始的值初始化  render(value);  function updateTimer() {  value += increment;  loopCount++;  render(value);  if (typeof(settings.onUpdate) == 'function') {   settings.onUpdate.call(self, value);  }  if (loopCount >= loops) {   // remove the interval   $self.removeData('countTo');   clearInterval(data.interval);   value = settings.to;   if (typeof(settings.onComplete) == 'function') {   settings.onComplete.call(self, value);   }  }  }  function render(value) {  var formattedValue = settings.formatter.call(self, value, settings);  $self.html(formattedValue);  } }); }; $.fn.countTo.defaults = { from: 200,  // the number the element should start at to: 0,   // the number the element should end at speed: 1000,  // how long it should take to count between the target numbers refreshInterval: 1, // how often the element should be updated decimals: 0,  // the number of decimal places to show formatter: formatter, // handler for formatting the value before rendering onUpdate: null, // callback method for every time the element is updated onComplete: null // callback method for when the element finishes updating }; function formatter(value, settings) { return value.toFixed(settings.decimals); } // custom formatting example $('#count-number').data('countToOptions', { formatter: function (value, options) { return value.toFixed(options.decimals).replace(//B(?=(?:/d{3})+(?!/d))/g, ','); } }); // start all the timers $('.timer').each(count); function count(options) { var $this = $(this); options = $.extend({}, options || {}, $this.data('countToOptions') || {}); $this.countTo(options); }

apply與call的簡單用法,學習鏈接。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 毕节市| 呼玛县| 广南县| 灵石县| 军事| 萝北县| 祁连县| 景德镇市| 淄博市| 乌拉特中旗| 自贡市| 博白县| 朝阳县| 长白| 旅游| 抚松县| 博兴县| 东丽区| 柘荣县| 永丰县| 南京市| 乐山市| 西充县| 长沙县| 泾源县| 定日县| 神农架林区| 类乌齐县| 大化| 荔浦县| 全南县| 桓仁| 渑池县| 称多县| 新巴尔虎左旗| 城市| 长顺县| 新丰县| 小金县| 甘洛县| 贵南县|