Делаем всплывающее меню на вебстраничкеПриведённый ниже пример работает как в IE так и в
NN.
Ну а теперь собственно сам исходник:
<SCRIPT language=JavaScript><!-- var occupied_header = new Array(); var occupied_menu = new Array(); for(i=1;i<=7;i++) { occupied_header[i] = 0; occupied_menu[i] = 0; } function CreateLayer(text, id, t, l) { if(document.layers) { var str="<LAYER ID=smenu" + id + " TOP=" + t + " LEFT=" + l + " onmouseover=\"occupied_menu[" + id + "]=1;\" onmouseout=\"Turn('" + id + "',0);occupied_menu[" + id + "]=0;\" VISIBILITY=hide>" + text + "</LAYER>"; document.write(str); } else if(document.all) { var strng="<div id=smenu" + id + " style=\"position:absolute;top:" + t + ";left:" + l + ";visibility:hidden;width:100;filter:alpha(opacity=90);\"" + " onmouseover=\"occupied_menu[" + id + "]=1;\" onmouseout=\"Turn('" + id + "',0);occupied_menu[" + id + "]=0;\">" + text + "</div>"; document.write(strng); } } function Turn(id, mode) { if(document.layers || document.all) { if(mode) eval("setTimeout(\"On(" + id + ", " + mode + ");\",100)"); else { eval("setTimeout(\"Off(" + id + ", " + mode + ");\",100)"); } } } function On(id, mode){ if(occupied_header[id]) if(document.all) eval("smenu" + id).style.visibility = 'visible'; else if(document.layers) eval("document.layers['smenu" + id + "']").visibility = "show"; } function Off(id, mode){ if(!occupied_menu[id] && !occupied_header[id]) if(document.all) eval("smenu" + id).style.visibility = 'hidden'; else if(document.layers) eval("document.layers['smenu" + id + "']").visibility = "hide"; } --> </SCRIPT> <script language="JavaScript"> <!-- txt = new Array(); txt[2] = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"4\" width=\"116\">" + "<tr bgcolor=\"#СССССС\">" + "<td>" + "<a href=\"java_src.html\">Java</a><br>" + "<a href=\"j_script_src.html\">Java Script</a><br>" + "<a href=\"c_api32_src.html\">C/C++</a><br>" + "<a href=\"vcpp_src.html\">Visual C++</a><br>" + "<a href=\"vb_src.html\">Visual Basic</a><br>" + "<a href=\"archwww.html\">Www мастерам</a><br>" + "<a href=\"rbc32.html\">Информер 1.1</a><br>" + "<a href=\"terra32.html\">Чат сервер</a></td>" + "</tr></table>"; txt[3] = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"4\" width=\"116\">" + "<tr bgcolor=\"#СССССС\">" + "<td><b>" + "<a href=\"delphi_doc.html\">Delphi</a><br>" + "<a href=\"http.html\">HTTP</a></td>" + "</tr></table>"; CreateLayer(txt[2], 2, 187, 145); // - Координаты первого меню CreateLayer(txt[3], 3, 215, 145); // - Координаты второго меню // if (!occupied_header[1]) onclick="return false;" --> </script> Теперь достаточно в любом месте страницы добавить следующий код:
<a onmouseout="Turn('2',0); occupied_header[2]=0; return false;" onmouseover="Turn('2',1); occupied_header[2]=1; return false;" href="members.html">Исходники</A> <br> <br> <a onmouseout="Turn('3',0); occupied_header[3]=0; return false;" onmouseover="Turn('3',1); occupied_header[3]=1; return false;" href="catalog.html">Документы</A> <br> Все параметры меню можно менять по своему
усмотрению: цвет, фон, размеры, координаты.
|
|
|
|