оно и в прежнем варианте неплохо работало ....малость подправить только
var t=[],t2=[];
function show_menu(name)
{ var objectm = document.getElementById(name+'-menu');
var width = parseInt(objectm.style.width);
var opacity = parseFloat(objectm.style.opacity);
if(width <= 200) {
if(t2[name+'-menu']) clearTimeout(t2[name+'-menu']);
width += 2;
objectm.style.width = width+"px";
if(opacity <= 0.9) {
opacity += 0.01;
objectm.style.opacity = opacity;
}
t[name+'-menu'] = setTimeout("show_menu('"+name+"')",5);
}
}
function hide_menu(name)
{
var objectm = document.getElementById(name+'-menu');
var width = parseInt(objectm.style.width);
var opacity = parseFloat(objectm.style.opacity);
if(width >= 0) {
if(t[name+'-menu']) clearTimeout(t[name+'-menu']);
width -= 2;
objectm.style.width = width+"px";
if(opacity >= 0) {
opacity -= 0.01;
objectm.style.opacity = opacity;
}
t2[name+'-menu'] = setTimeout("hide_menu('"+name+"')",5);
}
}