function numRoll(n){$.fn.countTo=function(options){options=options||{};return $(this).each(function(){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);var loops=Math.ceil(settings.speed/settings.refreshInterval),increment=(settings.to-settings.from)/loops;var self=this,$self=$(this),loopCount=0,value=settings.from,data=$self.data('countTo')||{};$self.data('countTo',data);if(data.interval){clearInterval(data.interval)}data.interval=setInterval(updateTimer,settings.refreshInterval);render(value);function updateTimer(){value+=increment;loopCount++;render(value);if(typeof(settings.onUpdate)=='function'){settings.onUpdate.call(self,value)}if(loopCount>=loops){$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:0,to:0,speed:3000,refreshInterval:100,decimals:0,formatter:formatter,onUpdate:null,onComplete:null};function formatter(value,settings){var changeZh = value.toFixed(settings.decimals);if(changeZh < 10){value = changeZh.toString().padStart(2,'0');}else{value = changeZh.toString().padStart(0);}return value;}$(".number").eq(n).find(".timer").each(count);function count(options){var $this=$(this);options=$.extend({},options||{},$this.data('countToOptions')||{});$this.countTo(options)}} var numFlag=[], numArr=[], loopArr=[]; if($('.number').length>0){ $(".number").each(function(){ speed = $(this).attr("speed") || 3000; $(this).find(".timer").each(function(){$(this).attr({'data-speed': speed,'data-to': $(this).text()});}); if(typeof($(this).attr("loop")) =="undefined"){loopIs = 0}else{loopIs = 1}loopArr.push(loopIs); }); setTimeout(function(){$('.number').each(function(){numArr.push($(this).offset().top - window.innerHeight);numFlag.push(1);toRun()})},666) } function toRun(){ var scrollRun = $(window).scrollTop(); for (var i = 0; i < numArr.length; i++) { if (scrollRun >= numArr[i] && numFlag[i]){numFlag[i] = 0;numRoll(i)} if(Number(loopArr[i])){if (scrollRun < numArr[i]){numFlag[i] = 1}} } } $(window).scroll(function () {toRun()});