Здравствуйте, написал простенькое меню, вот код:
JS:
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) {
clearTimeout(t2);
width += 2;
objectm.style.width = width;
if(opacity <= 0.9) {
opacity += 0.01;
objectm.style.opacity = opacity;
}
t = setTimeout(arguments.callee,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) {
clearTimeout(t);
width -= 2;
objectm.style.width = width;
if(opacity >= 0) {
opacity -= 0.01;
objectm.style.opacity = opacity;
}
t2 = setTimeout(arguments.callee,5);
}
}
HTML:
<div class="home" onmouseover="show_menu('main')" onmouseout="hide_menu('main')"></div>
<ul id="main-menu" onmouseover="show_menu('main')" onmouseout="hide_menu('main')" style="opacity:0; width: 0;" class="sub_helper_list">
<li>Главная</li>
</ul>
Проблема заключается в том что когда в том что когда в getElementById прописываешь id объекста полностью например 'main-menu' всё работает на ура, а как только прописываешь name+'-menu', работает но если когда работает норм то меню появляется по таймауту, то здесь когда наводишь мышью объект увеличивает на 2 пикселя ширину и 0.01 непрозрачность... То есть когда прописываешь id целиков всё идёт по таймауту, а когда с переменной то таймаут почеу-то не катит. Помогите пожалуйста, уже два часа не могу понять в чём дело...