грубо говоря, есть такой кусок хтмл:

<a id="menucaller">point me</a>
<div id="menu">
тратата
</div>
<style>#menu{display:none;position:absolute;}</style>
<script>
var caller = document.getElementById('menucaller')
var menu = document.getElementById('menu')
menucaller.onmouseover = function () {menu.style.display='block'}
menucallser.onmouseout = function () {menu.style.display='none'}
menu.onmouseover = function () {menu.style.display='block'}
menu.onmouseout = function () {menu.style.display='none'}
</script>

в этом виде работать не будет (я убрал незначащие вещи для наглядности), но понятно как должно работать: при наведении мыши на menucaller должен всплыть див menu. при уводе мыши с menucaller или menu -- menu должно прятаться.

в ИЕ и опере это работает прекрасно. в мозилле -- menu не всегда прячется, когда уводишь мышь. и непонятна природа этой проблемы. нельзя заметить, при каких условиях срабатывает, а при каких -- нет. короче, как странице вздумается -- так и будет: то прячется меню, то не прячется.

что можно сделать?

А так

Выделить код

Код:

<a id="menucaller">point me</a>
<div id="menu">
тратата
</div>
<style>#menu{display:none;position:absolute;}</style>
<script>
var caller = document.getElementById('menucaller')
var menu = document.getElementById('menu')
menucaller.onmouseover = function () {menu.style.display='block'}
menucaller.onmouseout = function () {menu.style.display='none'}
menu.onmouseover = function () {menu.style.display='block'}
menu.onmouseout = function () {menu.style.display='none'}
</script>

Следите за написанием:  menucaller.onmouseover  и menucallser.onmouseout ;).
А, вообще, есть наиполезнейшая вещь: Консоль Javascript.

alc
да, ошибся я там... но это ошибка при написании этого поста появилась, сорри.
а в реальном коде -- ошибки нет.
а вообще -- то, что я написал должно работать в мозилле, как думаете?
или нужно как-то по-другому реализовать это дело?

проблема решилась проще некуда.
нужно менять не свойство display:(block|none), а visibility:(visible|hidden)

спасибо

whip пишет

проблема решилась проще некуда.
нужно менять не свойство display:(block|none), а visibility:(visible|hidden)

спасибо

этот вариант не есть гуд, так как невидимые строчки будут занимать место на экране. вообще это похоже на баг что есть промежуток примерно в один пиксел между строками.

Rion
да нет. невидимые строки не будут занимать место на экране, потому что div позизионирован абсолютно, из основного потока он изымается. так что тут все правильно.
а главное -- работает

а точно, совсем забыл об этом :)