Страницы: 1
грубо говоря, есть такой кусок хтмл:
<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 (03-10-2005 10:15:46)
Бди!
Отсутствует
alc
да, ошибся я там... но это ошибка при написании этого поста появилась, сорри.
а в реальном коде -- ошибки нет.
а вообще -- то, что я написал должно работать в мозилле, как думаете?
или нужно как-то по-другому реализовать это дело?
Отсутствует
проблема решилась проще некуда.
нужно менять не свойство display:(block|none), а visibility:(visible|hidden)спасибо
этот вариант не есть гуд, так как невидимые строчки будут занимать место на экране. вообще это похоже на баг что есть промежуток примерно в один пиксел между строками.
Gentoo Linux
Отсутствует
Rion
да нет. невидимые строки не будут занимать место на экране, потому что div позизионирован абсолютно, из основного потока он изымается. так что тут все правильно.
а главное -- работает
Отсутствует
Страницы: 1