|
|
|
| есть слой с меню и слой с подменю, который делается видимым по наведению мыша.
по уходу мыша с меню или подменю, надо подменю сделать снова невидимым. скрипт
работал. но после небольшого изменения дизайна - перестал.
не пойму, то ли таймауты пересекаются, то ли еще что, но слой не скрывается по уходу...
<script>
function cancelCloseMenu(){
if(self.tm) clearTimeout(tm) // cancel delayed closing
}
function hideMenu(){
submenu.hide() /// здесь метод из библиотеки, делает слой невидимым
}
function initiateHideMenu(){
tm=setTimeout("hideMenu()",500) // 0.5 second delay to close a submenu
}
</script>
|
в слое пишу onMouseOver="cancelCloseMenu();" onMouseOut="initiateHideMenu();" , чтобы подменю закрывалось не сразу, а с задержкой. оно вообще не закрывается. :( других таймаутов в коде нет, т.е. есть, но они не привязаны к переменным.
если дописать в функцию initiateHideMenu() команду закрытия submenu.hide(), подменю закрывается сразу, а надо по таймауту. | |
|
|
|
|
|
|
|
для: elenaki
(11.04.2008 в 12:30)
| | Что будет если сделать так:
<script>
function cancelCloseMenu(){
if(self.tm) clearTimeout(tm) // cancel delayed closing
}
function hideMenu(){
alert(submenu.hide)/// здесь метод из библиотеки, делает слой невидимым
}
function initiateHideMenu(){
tm=setTimeout("hideMenu()",500) // 0.5 second delay to close a submenu
}
</script>
|
Будет ли алерт? И если да то, что он выведет? | |
|
|
|
|
|
|
|
для: RMW
(11.04.2008 в 21:22)
| | ничего не выводит. такое впечатление, что функция initiateHideMenu() вообще не вызывается. | |
|
|
|
|
|
|
|
для: elenaki
(14.04.2008 в 13:37)
| | Не знаю elenaki, что у вас случилось, но у меня ваш код работает. | |
|
|
|
|
|
|
|
для: sim5
(14.04.2008 в 14:17)
| | и у меня работает... в старой редакции. а в новой не желает. хотя изменения коснулись
только дизайна, положения слоев и добавления одной новой библиотеки, которая к слою
с меню отношения не имеет. | |
|
|
|
|
|
|
|
для: elenaki
(14.04.2008 в 14:38)
| | Ну значит проблема не в скриптах. | |
|
|
|
|
|
|
|
для: sim5
(14.04.2008 в 14:41)
| | да. похоже, дело в той библиотеке. потому что сейчас заметила, что на одной странице,
где я ее не подключаю, слои ведут себя как надо. появляются и исчезают... никаких ошибок
JS не выдается. скрипт из библиотеки работает, таймаутов в нем нет, переменных с таким
же именем, что и мой таймауат, нет.
PS переставила скрипт, управляющий видимостью слоев поближе к самому меню - вроде,
работает (на локалке). сейчас на сервер кину... чудеса да и только!
PPS ура! заработало! а еще говорят - от перестановки мест слагаемых... | |
|
|
|