Что то никак не пойму я логику
есть два пункта меню, первый:
<a href="" onMouseOver="focus_menu('news');" onMouseOut="mokus_menu('news');">НОВОСТИ</a>
второй:
<div class="sub_menu">
<div id="news" class="sub" onMouseOver="focus('news');" onMouseOut="mokus('news');">
<a href="">Основные новости</a><br>
<a href="">Новости погоды</a><br>
</div>
написал код js:
var bool=false;
function focus_menu (id)
{
document.getElementById(id).style.display='block';
}
function mokus_menu (id)
{
function vis()
{ if(bool==false)document.getElementById(id).style.display='none'; alert("aaaaa");
}
setTimeout(vis,1000);
}
function focus (id)
{
bool=true; alert("bbbb");
}
function mokus (id)
{
bool=false; document.getElementById(id).style.display='none';
}
|
не пойму что он мне делает, по логике вроде правильно, поставил алерты так alert("bbbb"); вообще не выводится, мало того, если с первого пункта меню навести на второй то никакой задержки не видно, хотя и устанавлен
setTimeout(vis,1000); задержка работает только если с первого пункта перевести курсор на остальное содержимое страницы |
в чем ошибся?:(
|
может дело в том что две функции выполняются одновременно?
|
Цитата:
|
так все же вставил, мне css еще вставить что ли, код же понятен, наводя на первый элемент, делаю видимым второй через свойство стиля document.getElementById(id).style.display='block'; и т.д.
|
отделил меню, html:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Ps</title>
<style type="text/css">
@import url(css3.css);
</style>
<script type="text/javascript" src="js/library.js"></script>
</head>
<body>
<div id="vse">
<div class="menu">
<div style="padding: 0px 12px 0px 12px;">
<a href="" onMouseOver="focus_menu('news');" onMouseOut="mokus_menu('news');">НОВОСТИ</a>
<a href="" onmouseover="focus_menu('sport')" onmouseout="mokus_menu('sport')">СПОРТ</a>
<a href="" onmouseover="focus_menu('kult')" onmouseout="mokus_menu('kult')">КУЛЬТУРА</a>
<a href="" onmouseover="focus_menu('nauka')" onmouseout="mokus_menu('nauka')">НАУКА</a>
<a href="" onmouseover="focus_menu('nagr')" onmouseout="mokus_menu('nagr')">НАГРАДЫ</a>
<div class="clear" onfocus=""></div>
</div>
</div>
<div class="clear"></div>
<div class="sub_menu">
<div id="news" class="sub" onMouseOver="focus('news');" onMouseOut="mokus('news');">
<a href="">Основные новости</a><br>
<a href="">Новости погоды</a><br>
</div>
<div id="sport" class="sub">
2
</div>
<div id="kult" class="sub">
3
</div>
<div id="nauka" class="sub">
4
</div>
<div id="nagr" class="sub">
5
</div>
</div>
</div>
</body>
</html>
|
css:
body{
padding:0;
margin:0;
background: #efefef;
text-align:center;}
#vse{
margin:0 auto 0 auto;
width:1000px; background: #fff;
position: relative;}
.menu {
background: url('images/menu.jpg') #86a262 repeat-x;
width: 100%;
float: left;
}
.menu a {
background: url('images/menu.jpg') #86a262 repeat-x;
display: block;
float: left;
width: 165px;
color: #ffffff;
font-size: 20px;
text-decoration: none;
padding: 8px 0px 9px 0px;
text-align: center;
}
.menu a:hover {
background:#648040;
}
.sub_menu {
background: #123;
position: absolute;
left: 0px;
}
.sub_menu .sub {
width: 200px;
background: #ffffff;
border: 1px solid #000;
position: absolute;
}
.sub_menu #news {
display: none;
float: left;
left: 12px;
}
.sub_menu #sport {
display: none;
float: left;
left: 177px;
}
.sub_menu #kult {
display: none;
float: left;
left: 342px;
}
.sub_menu #nauka {
display: none;
float: left;
left: 507px;
}
.sub_menu #nagr {
display: none;
float: left;
left: 672px;
}
div.clear {
clear: both;
}
|
javascript:
var bool=false;
function focus_menu (id)
{
document.getElementById(id).style.display='block';
}
function mokus_menu (id)
{
function vis()
{ if(bool==false)document.getElementById(id).style.display='none'; alert("aaaaa");
}
setTimeout(vis,1000);
}
function focus (id)
{
bool=true; alert("bbbb");
}
function mokus (id)
{
bool=false; document.getElementById(id).style.display='none';
}
|
ну я думаю итак понятно было.....
|
| Часовой пояс GMT +3, время: 11:46. |