Полезная информация

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№103-10-2005 09:57:55

whip
Участник
 
Группа: Members
Зарегистрирован: 03-10-2005
Сообщений: 5

проблемы с всплывающим div'ом

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

<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 не всегда прячется, когда уводишь мышь. и непонятна природа этой проблемы. нельзя заметить, при каких условиях срабатывает, а при каких -- нет. короче, как странице вздумается -- так и будет: то прячется меню, то не прячется.

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

Отсутствует

 

№203-10-2005 10:14:29

alc
Участник
 
Группа: Extensions
Откуда: Чебоксары
Зарегистрирован: 02-03-2005
Сообщений: 296

Re: проблемы с всплывающим div'ом

А так

Выделить код

Код:

<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)


Бди!

Отсутствует

 

№303-10-2005 10:24:51

whip
Участник
 
Группа: Members
Зарегистрирован: 03-10-2005
Сообщений: 5

Re: проблемы с всплывающим div'ом

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

Отсутствует

 

№403-10-2005 11:03:33

whip
Участник
 
Группа: Members
Зарегистрирован: 03-10-2005
Сообщений: 5

Re: проблемы с всплывающим div'ом

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

спасибо

Отсутствует

 

№503-10-2005 12:07:30

Rion
Участник
 
Группа: Extensions
Откуда: Екатеринбург
Зарегистрирован: 15-06-2005
Сообщений: 227

Re: проблемы с всплывающим div'ом

whip пишет

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

спасибо

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


Gentoo Linux

Отсутствует

 

№603-10-2005 13:00:42

whip
Участник
 
Группа: Members
Зарегистрирован: 03-10-2005
Сообщений: 5

Re: проблемы с всплывающим div'ом

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

Отсутствует

 

№703-10-2005 16:15:21

Rion
Участник
 
Группа: Extensions
Откуда: Екатеринбург
Зарегистрирован: 15-06-2005
Сообщений: 227

Re: проблемы с всплывающим div'ом

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


Gentoo Linux

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]