![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
martin |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 29.10.2004 Репутация: нет Всего: нет |
Помогите разобраться.
На странице слои, по умолчанию скрытые. При клике на линк "Показать" запускается скрипт:
Действие:
Слой layer1 открылся. Еще есть слой 2, слой 3, 4, ... 12. Все определяются по номерному id. Чтобы закрыть слой, я использую функцию removeElem: <a href="" onClick="removeElem('layer1'); return false;">Спрятать</a> Слой layer1 закрылся. То же и слой 2, 3, ... Задача 1 При открытии слоя - спрятать линк "Показать". С глаз долой. Как ее решить? Можно положить линк "Показать" в контейнер <div id="layer0">, и к событию onclick добавить layer0.style.display="none". Действие:
Но это сработает, если на странице только один слой. А у меня их, предположим, три. Добавлять к событию onclick layer[порядковый номер].style.display="none" - ошибочно (убедился). Подсказали добрые люди: функция принимает 2 значения - id слоя который надо спрятать и id слоя который надо показать. И больше подсказывать не стали. Как это написать? Как будет выглядеть скрипт? Задача 2 На другой странице ситуация со слоями в тексте повторяется. Но здесь было бы намного удобнее, если бы слой появлялся и прятался при клике на одном и том же линке - "Подробнее", например. Как это осуществить? Это сообщение отредактировал(а) martin - 29.10.2004, 18:50 |
||||||
|
|||||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: нет Всего: 25 |
у меня риализована функция которая принимает слой -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
А вот примерное решение второго вопроса
![]()
На форуме предусмотрена подсветка кода. Вы ей не воспользовались. Сообщите пожалуйста, какие трудности у вас возникли по этому поводу ![]() Пожалуйста, соблюдайте правила форума один топик - один вопрос |
|||
|
||||
martin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 29.10.2004 Репутация: нет Всего: нет |
sergej.z
стормозил ![]() понял, отныне только онтоп. благодарю, иду пробовать. думать иду. |
|||
|
||||
martin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 29.10.2004 Репутация: нет Всего: нет |
Step
Спасибо. Я успешно не разобрался. Знаний мало. sergej.z Итак:
<a href="" onClick="show_hide_Elem('layer1'); return false;">Подробности</a>. <div id="layer1"> (по умолчанию скрытый) <p>Пару слов о серьезном. </div> Нужно, чтобы при клике на "Подробности" слой layer1 появлялся, а при повторном клике - прятался обратно. В Опера7: слой открывается, и обратно закрываться не желает. И тишина. В ИЕ6: открываю файл из C:\Documents and Settings\user\My Documents\about.html Линк, обрабатываемый этой функцией, ведет в никуда. Точнее - указывает прямиком на file:///C:/Documents%20and%20Settings/user/My%20Documents/ Жмем раз - слой открылся. Жмем второй раз - и в браузере... показывается содержимое C:\Documents and Settings\user\My Documents ![]() Что делать? |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
Вот, посмотрите
![]() Это ессно не готовое решение ![]()
|
|||
|
||||
Alx |
|
||||||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
вот решение первого вопроса:
второго:
в втором случае меняется содержимое ссылки с "открыть" на "скрыть" и наоборот. при желании это можно убрать, удалив строки
и заменив содержимое ссылок с "Показать" на "Подробности". |
||||||
|
|||||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
ALEXANDRO вместо window.event.srcElement который существует только в IE и Опере лучше передавать сслыку на самого себя(this) или на дочерний тег еще одним аргументом функции. Пиши кросс-браузерно
![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
ок
![]() |
|||
|
||||
martin |
|
||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 29.10.2004 Репутация: нет Всего: нет |
Большое спасибо. Приятный во всех отношениях форум.
Я понял принцип. О частностях: для пункта два, мне кажется, что целесообразнее решение через (elemId). Напомню, что по умолчанию слои на странице абсолютно скрыты. Напрочь. Через параметр display. Переписал так:
Кстати, намного удобнее, если слово "Показать" (в моем случае) действительно является линком (href=""), тогда и title="Показать/Спрятать слой" можно добавить. К onclick="такая-то функция" нужно добавить return false, и все будет в порядке. Пример: [/code]
|
||||
|
|||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Также можно вообще отказатся от якорей и использовать span, что логичнее и не несет побочных эффектов
![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |