Edit in JSFiddle

Fx.Log = new Class({
    
    Extends: Fx,
    
    initialize: function(element, options){
        this.parent(options);
        this.element = document.id(element);
    },
    
    set: function(now){
        this.element.set('text', now.round());
        return this;
    }
    
});

var myFx = new Fx.Log('log');



/* demo utility stuff */

$('options').addEvent('submit',function(event){
    event.stop();
    myFx.setOptions(this.toPairs());
    myFx.options.duration = myFx.options.duration.toInt();
    myFx.start($('from').value.toInt(), $('to').value.toInt());
});

Element.implement({
    
    toPairs: function(){
        var json = {};
            this.getElements('input, select, textarea', true).each(function(el){
                if (!el.name || el.disabled || el.type == 'submit' || el.type == 'reset' || el.type == 'file') return;
                var value = (el.tagName.toLowerCase() == 'select') ? Element.getSelected(el).map(function(opt){
                    return opt.value;
                }) : ((el.type == 'radio' || el.type == 'checkbox') && !el.checked) ? null : el.value;
                $splat(value).each(function(val){
                if (typeof val != 'undefined') json[el.name] = val;
            });
        });
        return json;
    }
    
});
<h1 id=log>Waiting ...</h1>

<form id=options>
    <p>
        Count from <input id=from type=text value=0> to <input id=to type=text value=100>
    </p>
    <p>
        Transition <select name=transition>
            <option>linear</option>
            <option>pow:in</option>
            <option>pow:out</option>
            <option>pow:in:out</option>
            <option>expo:in</option>
            <option>expo:out</option>
            <option>expo:in:out</option>
            <option>circ:in</option>
            <option>circ:out</option>
            <option>circ:in:out</option>
            <option>sine:in</option>
            <option>sine:out</option>
            <option>sine:in:out</option>
            <option>back:in</option>
            <option>back:out</option>
            <option>back:in:out</option>
            <option>bounce:in</option>
            <option>bounce:out</option>
            <option>bounce:in:out</option>
            <option>elastic:in</option>
            <option selected>elastic:out</option>
            <option>elastic:in:out</option>
            <option>quad:in</option>
            <option>quad:out</option>
            <option>quad:in:out</option>
            <option>cubic:in</option>
            <option>cubic:out</option>
            <option>cubic:in:out</option>
            <option>quart:in</option>
            <option>quart:out</option>
            <option>quart:in:out</option>
            <option>quint:in</option>
            <option>quint:out</option>
            <option>quint:in:out</option>
        </select>
    </p>
    <p>
        Duration: <input type=text name=duration value=3000>
    </p>
    <p>
    <input type=submit value=Count!>
    </p>
</form>
body { font-family: helvetica, arial; }
#log {
    text-align: center;
    padding: 10px;
    font-size: 30px;
    color: #fff;
    text-shadow: 0 -1px 1px #3267b8;
    border: solid 1px #3267b8;
    -webkit-box-shadow: 0 3px 6px rgba(0,0,0,0.5);
    -moz-box-shadow: 0 3px 6px rgba(0,0,0,0.5);
    
    background-image: -moz-linear-gradient(top, #75a3dc, #3267b8); /* FF3.6 */
    background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #75a3dc),color-stop(1, #3267b8)); /* Saf4+, Chrome */
    filter:  progid:DXImageTransform.Microsoft.gradient(startColorStr='#75a3dc', EndColorStr='#3267b8'); /* IE6,IE7 */
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#75a3dc', EndColorStr='#3267b8')"; /* IE8 */
}

#options {
    margin-top: 20px;
    padding: 10px;
    background: #f0f0f0;
    border: solid 1px #888;
}

p {
    margin-top: 1em;
    margin-bottom: 1em;
}