| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Запарка |
| Автор: Chapaev 20.1.2006, 18:53 | ||||
| http://www.economirea.ru/ Слева меню. Вообщем задача - что бы в каждый момент времени был открыт только 1 пункт.
Вообщем если клик идёт по закрытому блоку - мы закрываем все остальные и открываем нужный, если по открытому - то просто его закрываем.
Первая таблица - заголовок блока и видна всегда при клике - onClick="SwitchMenu('sub5')". Вторая с id="sub5" name="sub" - которая собственно прячется. Так же и у остальных блоков, меняется только id. |
| Автор: Innuendo 20.1.2006, 19:08 |
| чё-то мудренно у тебя в скрипте. Дай каждому меня свой id типа sub1-sub6 или скок-там у тебя. При загрузке страницы задавай всем style.display=none через цикл, а на клике на какой-нить из менюшек, её style.display=true, и по всем пройтись - закрыть, кроме неё. то есть в цикле проверять на id этой менюшке, и если это она, то continue - то есть циклл пропустит её |
| Автор: Chapaev 20.1.2006, 19:20 |
| Ну я почти так и делаю + у меня у каждой менюшки name="sub". Следовательно я закрываю в цикле все элементы у которых name="sub" и открываю те, у которых id="sub1". |
| Автор: Chapaev 21.1.2006, 15:33 |
| Ну народ, помогите пожалуйста! |
| Автор: GIK 21.1.2006, 16:00 | ||
Задачка вроде понятна и ясна, НО
А нужный как определяется? |
| Автор: 12345c 21.1.2006, 17:16 |
| Проблема, видимо, исходит из того, что Опера не поддерживает столь "кривое" использование name. Этот атрибут изначально работал в формах, и вовсе не обязан работать, а тем более, входить в коллекцию, если присвоен таблице. В таких случаях наиболее естественно используют class. Далее, я бы не стал пользоваться сомнительными коллекциями, а прошёл бы все элементы и поспрашивал у них класс. А может быть, и getElementsByClass будет работать. |
| Автор: Ciber SLasH 22.1.2006, 02:37 | ||
| 2Chapaev: Вот, посмотри:
|