140byt.es IE6 compatible loading spinner

HTML

<div id="spinner"></div>

CSS

#spinner { position: relative; font-size: 20px; }
#spinner b { position:absolute; }
#spinner .b0 { top:00px; left:20px; }
#spinner .b1 { top:03px; left:27px; }
#spinner .b2 { top:10px; left:30px; }
#spinner .b3 { top:17px; left:27px; }
#spinner .b4 { top:20px; left:20px; }
#spinner .b5 { top:17px; left:13px; }
#spinner .b6 { top:10px; left:09px; }
#spinner .b7 { top:03px; left:13px; }
#spinner .o0 { opacity: 0.8; filter: alpha(opacity=80); }
#spinner .o1 { opacity: 0.7; filter: alpha(opacity=70); }
#spinner .o2 { opacity: 0.6; filter: alpha(opacity=60); }
#spinner .o3 { opacity: 0.5; filter: alpha(opacity=50); }
#spinner .o4 { opacity: 0.4; filter: alpha(opacity=40); }
#spinner .o5 { opacity: 0.3; filter: alpha(opacity=30); }
#spinner .o6 { opacity: 0.2; filter: alpha(opacity=20); }
#spinner .o7 { opacity: 0.1; filter: alpha(opacity=10); }

JavaScript

(
function(a,b,c){setInterval(function(){for(b=0;b<8;c||(a.innerHTML+='<b>•'),a.childNodes[b].className='b'+b+' o'+(++b-~c)%8);c=-~c},99)}
)(document.getElementById('spinner'));