Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / web / HTML

Real-Time Ticker Showing Your Government's Cash Burn Rate

5.00/5 (3 votes)
16 Feb 2015CPOL 18.9K  
Essentially the same code snippet with just a little bit cleaner and more efficient code1. setTimeout() is replaced with setInterval() function2. The interval is correctly set to 333 msec to produce 3 updates per second as specifiedRelated application (as FYI): Inflation...
Essentially the same code snippet with just a little bit cleaner and more efficient code

1. setTimeout() is replaced with setInterval() function
2. The interval is correctly set to 333 msec to produce 3 updates per second as specified 
 

JavaScript
<html>
<head>
     <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.5.1.js" type="text/javascript"></script>
</head>
<body>
    <div id="counter"></div>
 
<script type="text/javascript">
    // capture the date parts we need for the calculation
    var currentyear = new Date().getFullYear();
    var startDateTicks = new Date(currentyear, 0, 1).getTime();
 
    // replace this with the ID of the element that is used to
    // display your burnt money total
    var $burnedMoneyElement = $("#counter");
 
    // replace this with your government's annual budget
    var governmentBudget = 13265000000;
 
    // figure out the per-second burn rate
    var moneyMultiplier = (((governmentBudget / 365) / 24) / 60) / 60;
 

    $(document).ready(function(){
    // this is called when the page is fully loaded
    // use setInterval() function to update the reading about 3 times a second
     setInterval("updateBurnedMoneyTicker()", 333);
   });
 
    // show me the money!!
    function updateBurnedMoneyTicker() {
        var curDateTicks = new Date().getTime();
        var totalVal = 0;
        // ticks are in milliseconds, compute by the second
        totalVal = (curDateTicks - startDateTicks);
        totalVal = totalVal / 1000;
        totalVal = totalVal * moneyMultiplier;
        $burnedMoneyElement.html(formatCurrency(totalVal));
    }
 
    // this currency formatting function is 
    // from http://javascript.internet.com
    function formatCurrency(num) {
        num = num.toString().replace(/\$|\,/g, '');
        if (isNaN(num))
            num = "0";
        sign = (num == (num = Math.abs(num)));
        num = Math.floor(num * 100 + 0.50000000001);
        cents = num % 100;
        num = Math.floor(num / 100).toString();
        if (cents < 10)
            cents = "0" + cents;
        for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
            num = num.substring(0, num.length - (4 * i + 3)) + ',' +
            num.substring(num.length - (4 * i + 3));
        return (((sign) ? '' : '-') + '$' + num + '.' + cents);
    } // end of code from http://javascript.internet.com
</script>
</body></html>

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)