diff --git a/application/admin/view/default/index/init.html b/application/admin/view/default/index/init.html index d8de62f85..f939cdad7 100755 --- a/application/admin/view/default/index/init.html +++ b/application/admin/view/default/index/init.html @@ -13,56 +13,56 @@
  • 用户总量

    -

    {{$user.total_count}}

    +

    0

    昨日 - {{$user.yesterday_count}} + 0
    今日 - {{$user.today_count}} + 0
  • 订单总量

    -

    {{$order_number.total_count}}

    +

    0

    昨日 - {{$order_number.yesterday_count}} + 0
    今日 - {{$order_number.today_count}} + 0
  • 成交总量

    -

    {{$order_complete_number.total_count}}

    +

    0

    昨日 - {{$order_complete_number.yesterday_count}} + 0
    今日 - {{$order_complete_number.today_count}} + 0
  • 收入总计

    -

    {{$order_complete_money.total_count}}

    +

    0.00

    昨日 - {{$order_complete_money.yesterday_count}} + 0.00
    今日 - {{$order_complete_money.today_count}} + 0.00
  • diff --git a/application/admin/view/default/public/footer.html b/application/admin/view/default/public/footer.html index 5a50e6075..687864df6 100755 --- a/application/admin/view/default/public/footer.html +++ b/application/admin/view/default/public/footer.html @@ -19,6 +19,9 @@ + + + diff --git a/public/static/common/lib/animation-count-to/animation.count.to.js b/public/static/common/lib/animation-count-to/animation.count.to.js new file mode 100644 index 000000000..c38817849 --- /dev/null +++ b/public/static/common/lib/animation-count-to/animation.count.to.js @@ -0,0 +1,88 @@ +$(function() +{ + $.fn.animation_count_to = function (options) + { + options = options || {}; + return $(this).each(function () { + // set options for current element + var settings = $.extend({}, $.fn.animation_count_to.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, + $self = $(this), + loopCount = 0, + value = settings.from, + data = $self.data('animation_count_to') || {}; + + $self.data('animation_count_to', 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('animation_count_to'); + 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.animation_count_to.defaults = { + from: 0, // 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: 100, // 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); + } + + // start all the timers + $('.animation-count-to').each(function(options) { + var $this = $(this); + options = $.extend({}, options || {}, $this.data('animation_count_to_options') || {}); + $this.animation_count_to(options); + }); +}); \ No newline at end of file