| Автор
| Сообщение |
 Kate
Постоянный участник

Возраст: 27
Знак зодиака: 
Зарегистрирован: 04.06.2007
Сообщения: 149
|
|
|
Цитата |
|
Пишу класс меню иерархического, столкнулась с проблемой, которую лучше посмотреть, чем рассказать.
Прикрепила файл - menu.rar, в нем
1. proba.html - страница, которую нужно открыть, чтобы увидеть проблему.
2. папка pix - просто папка с мизерной иконкой.
3. tree_menu.js - класс меню.
В крадце,
на странице proba.html, нажимаю на плюсик - раскрывается меню, нажимаю на него же еще раз - закрывается, все ОК. Но когда, после того, как открою первый уровень меню, еще и раскрою одно или более меню второго уровня, и не закрыв эти меню второго уровня, закрываю (также нажимая на плюсик) меню первого уровня, то несмотря на то, что меню первого уровня закрывается, открытые меню второго уровня остаются видимыми.
Я понимаю, что разбираться в этом коде JS-класса занятие неблагодарное и малоприятное, поэтому, с пониманием отнесусь к тому, если вы меню просто ненавязчиво пошлете. Хотя, на мой взгляд, размер кода не такой уж и большой.
| Описание: |
| Файл архива со страницей и JS-классом |
|
 Скачать |
| Имя файла: |
menu.rar |
| Размер: |
3.73 KB |
| Загружен: |
145 раз(а) |
Последний раз редактировалось: Kate (Пн, 29-Дек-2008 15:09), всего редактировалось 1 раз |
|
| В начало |
|
 |
|
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
а библиотеку jQuery не пробовала? Вроде там такое есть.
_________________ Bonum initium est dimidium facti
SQL-задачи (on-line) |
|
| В начало |
|
 |
 Kate
Постоянный участник

Возраст: 27
Знак зодиака: 
Зарегистрирован: 04.06.2007
Сообщения: 149
|
|
|
Цитата |
|
dogma,
не помню есть там такое или нет, но мне нужно в данном случае свое меню, есть кое-какие нюансы.
|
|
| В начало |
|
 |
 Kate
Постоянный участник

Возраст: 27
Знак зодиака: 
Зарегистрирован: 04.06.2007
Сообщения: 149
|
|
|
Цитата |
|
Ответа от форумчан так и не получила. Поэтому пошла другим путем.
Если в прикрепленном файле меню 1ого уровня убиралось и появлялось через изменение свойств visibility и position, то во 2ой реализации, я сделала по-другому: вместо убирания меню 1ого уровня через visibility=hidden и position=absolute, я сделала просто parentElement.removeChild(childElement), а вместо показа меню 1ого уровня через visibility=visible и position=relative, я сделала функцию createMenu, которая, соответственно, создает это меню 1ого уровня заново и добавляет его к родителю. Показ/скрытие меню 2ого уровня, которые кстати формируются в функции createMenu 1ого уровня, оставила по-старому - через изменение свойств style (visibility, position), т.к. они в свою очеред, в отличие от меню 1ого уровня, не содержат меню 3его уровня, и, соотв., не будут вызывать вышеописанных глюков, при их закрытии.
|
|
| В начало |
|
 |
|