Если вы хотите отказаться от jQuery или фреймворков, вы можете использовать этот шаблон:
function fadeThisElement(elm, interval) {
for (var i=10; i>0; i--) {
var opacity = i/10;
setTimeout( function(opacity) {
elm.setStyle("-moz-opacity",opacity);
elm.setStyle("opacity",opacity);
elm.setStyle("filter","alpha(opacity=" + (opacity*100).toString() );
//set your alpha values for the various browsers
}, interval;
}
}
Дайте интервал в миллисекундах. Я предлагаю 10 для 10-ступенчатого замирания.