Javascript Counter Like Google's Space counter or Walmarts Savings counter

Posted on 2008-10-06
Last Modified: 2012-05-05
Hello Experts, I'm looking for a code snippet of a Javascript counter similar to Google's "Lots of Space" counter found on their mail home page or similar to Walmart's American Savings counter found on their homepage. Both are rolling counters. In the Walmart example it shows how many dollars they've saved american families. (See attached image of Walmart example).

I need a counter that will count how much my company donated to charity. So similar to the attached jpg file, it would display the rolling dollar amount donated.

Can you please provide me with the code that would adequately solve this problem?

I'm currently employing php and mysql. Its safe to assume the sum total contributed will come from a mysql table and the browser will reflect an incrementing counter.
Question by:aristanoble
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2

Expert Comment

ID: 22648509
You would need to use a timer and the XmlHttpRequest to query a php page which would contact your mysql database to retrieve a total and then let the javascript update your content accordingly.

More information about the XmlHttpRequest can be found here:

If you need more help, just post a reply and I'll provide some sample code.

Kind regards,

Matthias Vance
LVL 27

Expert Comment

ID: 22648767
It appears that Google's counter is just a JS estimation of the storage over time based on the current date/time, view their page source for the code used.
LVL 27

Expert Comment

ID: 22648806
Walmart's site has a careful disclaimer with their savings counter, I would suspect it is also just an estimation based on current date/time.
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.


Author Comment

ID: 22655036
Yes Matthais I would need a bit more help. Viewing the Google source code only reminded my how I never understood Japanese (it was all foreign to me). I'm totally a beginner in javascript, even more so with Ajax, but it's important that I utilize this display method, albeit estimation values. I would greatly appreciate the code please.

Accepted Solution

MatthiasVance earned 375 total points
ID: 22657327
At the moment I don't have many time explaining the code, I'll be back in my office in 2 days.
I hope this assists you in the meantime.

Note: The code is kind of IE7-specific and doesn't contain any error checking.

Kind regards,

Matthias Vance
// counter.php
<div id="counter">0</div>
<script language="JavaScript">
	// Load data for the first time
	function refreshCounter() {
		var req = new XMLHttpRequest();
		req.onreadystatechange=function() {
			if(req.readyState == 4 && req.status == 200) {
				var elem = document.getElementById('counter');
				elem.innerHTML = req.responseText;
		// Set timer again
// counter_get.php
	$connection = mysql_connect("<host>", "<user>", "<pass>");
	$result = mysql_query("SELECT SUM(amount) FROM march;", $connection);
	$value = mysql_result($result, 0);
	echo $value;

Open in new window


Author Comment

ID: 22680840
Now is it IE-7 specific due to the use of 'XMLHttpRequest'; I've been reading that different browsers require different request methods, the solutions for that look simple enough to implement. I'll get working on that and post my results.

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Rotate images for Web Page 11 26
Put POST values into cookies. 14 34
syntax error, unexpected '?' in phpunit 5 27
Set a time limit on Wordpress Cookie function. 3 14
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn how to count occurrences of each item in an array.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question