Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.27;
Скачать: CL | DM;

Вниз

Ох уж эти браузеры :(   Найти похожие ветки 

 
homm ©   (2007-04-25 23:05) [0]

<html><head>
<style>
div { border: 1px solid black; }
.sub { position: absolute; background: #e0e0e0; display:none; }
.why { font-size: 36px; color: red; }
</style>
</head>
<script>
function doover(n) {document.getElementById("sub"+n).style.display="block";}
function doout(n) {document.getElementById("sub"+n).style.display="none";}
</script>
<body>
Этот код вызывает подменю при наведении мыши.
<div onmouseover="doover(1);" onmouseout="doout(1);">menu<br><div class="sub" id="sub1">item1<br>item2<br>item3</div></div>
<br><br><br><br><br><br><br>
Этот код вызывает подменю при щелчке мыши, но при наведении на элементы, они пропадают.
<div onmousedown="doover(2);" onmouseout="doout(2);">menu<br><div class="sub" id="sub2">item1<br>item2<br>item3</div></div>
<br><br><br><br><br>
Этот эффект наблюдаеться во всех браузерах…<br>
<span class="why">Почему???</span>
</body>
</html>


 
Алхимик ©   (2007-04-26 00:14) [1]

А что странного?
onmouseout наступает когда с sub2 сваливает мышь.
сделай вместо:
<div onMouseDown="doover(2);" onMouseOut="doout(2);">menu<br>
 <div class="sub" id="sub2">item1<br>
   item2<br>
   item3</div>
</div>
так:
<div onMouseDown="doover(2);">menu<br>
 <div class="sub" id="sub2" onMouseOut="doout(2);">item1<br>
   item2<br>
   item3</div>
</div>


 
McSimm ©   (2007-04-26 00:15) [2]

В первом случае последовательность вызовов такая:

1. Наведение на div : doover(1);
2. Перевод с внешнего div на внутренний: doout(1); doover(1);

Во втором случае:
1. Клик на div : doover(2);
2. Перевод с внешнего div на внутренний: doout(2);

Можно добавить обработку mouseover для вложенного div, тогда будет работать как в первом случае.
<div onmouseup="doover(2);" onmouseout="doout(2);">menu<br><div onmouseover="doover(2);" class="sub" id="sub2">item1<br>item2<br>item3</div></div>


 
McSimm ©   (2007-04-26 00:18) [3]


> эффект наблюдаеться во всех браузерах…

редкая удача :)


 
homm ©   (2007-04-26 00:18) [4]

> Можно добавить обработку mouseover для вложенного div, тогда
> будет работать как в первом случае.

WOW!! Спасибо :) Все не мог вкурить, что же происходит, думал что раз в первом случае не исчезает, значит и не происходит doout(1) вовсе :)


 
homm ©   (2007-04-26 00:21) [5]

> редкая удача :)

Исправление, кстати, тоже везде работает :) Еще раз спасибо, вчера вечером над этим-же бился, уже думал что это финиш.



Страницы: 1 вся ветка

Текущий архив: 2007.05.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.038 c
15-1178004231
antonn
2007-05-01 11:23
2007.05.27
хранение постов форума


2-1178611758
Gentos
2007-05-08 12:09
2007.05.27
как в TEdit переместить курсор (вертикальную палку) в конец стр


3-1173595209
_kos
2007-03-11 09:40
2007.05.27
Подключение к удалённой mysql


2-1178777782
Шакал
2007-05-10 10:16
2007.05.27
Проблемы работы написанных программ в win98-2000


15-1177640306
Slider007
2007-04-27 06:18
2007.05.27
С днем рождения ! 27 апреля