Директно си получил сертификата!
От миналата година няколко пъти си надскочил себе си...
Ако сега дадеш един пример, как да се олекоти и CSS-а - да си проличи чрез добавяне на още едно меню...
Защото за JS-то постигна върха, и с добавяне на екстрата за затваряне чрез клик и с обединяване на нещата във mopen() и с изнасянето на глобалните променливи за тяхното следене...
Освен оптимизацията на CSS-а обясни и тези margin -1px 0 0 0 за какво служат... Може ли чрез някакъв бордер да се разхубави менюто - да се разделят вертикалните позиции с нежни линийки...
Добавъчното меню след оптимизацията на CSS-а може да бъде и подменю - например на Кола маска -> надясно избери някакъв знак за надясно и от нея да се вика на съответното място леърче с някакви под-варианти - измисли 3 примерни (ако не се сещаш - примерно Вариант 1, 2, 3 ;-)
Така ще се илюстрира къде само се пипа в CSS-а за да може да се добавят нови леъри от всякъде...
Моят междинен вариант, продължавайки реда на мисленето, който си надскочил:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Меню</title>
<script>
function shl(l) {
var layer=document.getElementById(l);
layer.style.visibility="visible";
}
function hdl(l) {
var layer=document.getElementById(l);
layer.style.visibility="hidden";
}
function mm(e) {
var x=(document.all) ? event.x : e.pageX;
var y=(document.all) ? event.y : e.pageY;
document.f.i.value='X='+x+' Y='+y;
}
document.onmousemove=mm;
var sto1, sto2;
function hto(l) {
if(l==1)sto1=setTimeout("hdl('m1')",1000);
if(l==2)sto2=setTimeout("hdl('m2')",1000);
}
function cto(l) {
if(l==1)clearTimeout(sto1);
if(l==2)clearTimeout(sto2);
}
</script>
<style>
a {text-decoration:none; font-family:Arial, Helvetica, sans-serif; font-size:11px;}
.mmain{position:absolute; top:100px; left:200px;}
.submenu1{visibility:hidden; width:100px; position:absolute; top:19px; left:0px; float:left; z-index:2;}
.mm1{position:absolute; top:0px; left:0px; z-index:1;}
.sm1{float:left; width:100px;}
.mm1, .sm1, .sm2, .mm2
{background:green; color:white; height:16px; padding-left:5px; padding-right:5px; border:solid 1px black;}
.mm1:hover, .sm1:hover, .mm2:hover, .sm2:hover{background:red; color:yellow;}
.submenu2{visibility:hidden; width:100px; position:absolute; top:19px; left:70px; float:left; z-index:2;}
.mm2{position:absolute; top:0px; left:70px; z-index:1;}
.sm2{float:left; width:150px;}
</style>
</head>
<body>
<form name="f">
<input type="text" name="i" value="X=0 Y=0">
</form>
<div class="mmain">
<a href="#" onmouseover="cto(1); shl('m1'); hdl('m2');" onmouseout="hto(1);" class="mm1">ПРОДУКТИ</a>
<div class="submenu1" id="m1" onmouseover="cto(1);" onmouseout="hto(1);">
<a href="#" class="sm1">Сапуни</a>
<a href="#" class="sm1">Самобръсначки</a>
<a href="#" class="sm1">Тоалетни несесери</a>
<a href="#" class="sm1">Шампоани</a>
<a href="#" class="sm1">Балсами</a>
<a href="#" class="sm1">Бои за коса</a>
</div>
<a href="#" onmouseover="cto(2); shl('m2'); hdl('m1');" onmouseout="hto(2);" class="mm2">УСЛУГИ</a>
<div class="submenu2" id="m2" onmouseover="cto(2);" onmouseout="hto(2);">
<a href="#" class="sm2">Бръснене</a>
<a href="#" class="sm2">Кола маска</a>
<a href="#" class="sm2">Подстригване</a>
<a href="#" class="sm2">Боядисване на коса</a>
</div>
</div>
</body>
</html>
поради неудобството да се правят промени на много места за добавяне на нови леъри - и в CSS-а и в JS-та, но при преподаването в курса - такива огромни крачки ще убият курсистите. Този вариант е нежна крачица, след който твоят се явява естествено продължение, което спестява ред неудобства...
Дай следващата стъпка (върху твоят си вариант, естествено) с CSS-а, който да спестява "множествено пипане" и как може да се разхубавят бордерчетата... Покажи един хубав CSS, спретнат, подреден и коментиран в твой стил - така че и препратките надясно да са маркитрани стилно...
За HTML и JS вече си 6++, дай сега едно рамо и на гъвкавия CSS... Направи го, както смяташ, че трябва да бъде - нашият въобще не го оставяй... Ако трябва смени и наименованията на класовете, както и редът им за да са по-прегледни...
Та така, с твоя помощ от тук желаещите могат да получат много - хубави и работещи уроци по HTML/CSS/JS...
Такива като тебе са по един на няколко випуска. Дано времето те прави още по-добър и задобряващ...!