Оживи свою страничку
Спецвыпуск хакер, номер #002, стр. 002-014-6
document.all["menu"+menu].style.top=event.y-130;
document.all["menu"+menu].style.left=event.x;
}move_menu(menu);
}if(mpos[menu]>=0)move_menu(menu);
}
Сначала инициализируем переменные, потом пишем функцию, которая будет отвечать за размещение меню на экране.
function move_menu(menu)
{ mpos[menu]+=mdir[menu];
if(document.layers)
{ document.layers["menu"+menu].top+=mdir[menu];
document.layers["menu"+menu].clip.top=-mpos[menu];
}else{
document.all["menu"+menu].style.top=parseInt(document.all["menu"+menu].style.top)+mdir[menu];
document.all["menu"+menu].style.clip="rect("+(-mpos[menu])+",auto,auto,auto)";
}if(mpos[menu]>-130 && mpos[menu]<0) setTimeout("move_menu("+menu+")", delay);
}
А эта функция, как следует из ее названия, будет выдвигать меню.
function init()
{ for(i=0; i<maxmenus; i++){
mpos[i]=-130;
mdir[i]=-5; }
}
Параметр "mdir[i]" устанавливает скорость появления меню.
</script>
<div id="menu0" class="menu">
<p>Журнал Хакер</p></div>
<div id="menu1" class="menu">
<p>Новости от AnyNews</p></div>
Подсказки, которые будут всплывать для пунктов меню.
<p>
<a href="www.xakep.ru" onmouseover="do_menu(event, 0)" onmouseout="do_menu(event, 0)">Хакер</a>
<a href="www.anynews.agava.ru" onmouseover="do_menu(event, 1)" onmouseout="do_menu(event, 1)">AnyNews</a>
</p>
</body>
</html>
Тут тоже вопросов быть никаких не должно.
Outtro
Ну вот, мы и проникли с тобой в основы DHTML. Надеюсь, ты уже начал делать свой хакерский сайт? Если еще нет, то поспеши, а то тебя опередят.
И вот еще что: все примеры были протестированы на IE4 и 5. Для других браузеров работа не гарантирована. ;) Со всеми претензиями по этому поводу обращайся по адресу askbill@microsoft.com. Думаю, тебе там помогут. ;)