A spinner generated from http://www.ajaxload.info/ is 673 bytes. The minified javascript from this is ~3K. I suppose the trade off is features and flexibility, but I don't find myself needing much out of my ajax spinners.
<input type="range" min="0" max="100">
<input type="number" min="0" max="100">
http://www.w3schools.com/html5/html5_form_input_types.aspIt's the difference between "cool, it works" and "wow, this is elegant and beautiful" - the Apple effect, if you will.