Может решение , которое я придумал покажется не оптимальным, но я сделал так:
function show_menu(name)
{
if(name=='foto'){objectm = document.getElementById('foto-menu');}
if(name=='main'){objectm = document.getElementById('main-menu');}
var width = parseInt(objectm.style.width);
var opacity = parseFloat(objectm.style.opacity);
if(width <= 200) {
clearTimeout(t2); //очищение таймаута hide
width += 2;
objectm.style.width = width;
if(opacity <= 0.9) {
opacity += 0.01;
objectm.style.opacity = opacity;
}
t = setTimeout(arguments.callee,5); // собственный таймаут
}
}
Всё работает прекрасно.
Kolyaj, за подсказку.