![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
michail20033 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 19.10.2006 Репутация: нет Всего: нет |
Добрый день. Помогите пожалуйста. Есть обычное графическое меню и небольшой javascript для смены картинок. Все работает. Наводишь мышкой на кнопку меню- кнопка меняется с одной на другую. НО! Нужно чтобы кнопка не только менялась при наведении, но и при нажатии на нее оставалась такой же как при наведении. Тоесть нажал на кнопку - она изменилась как при наведении и осталась такой, в том разделе куда указывала ссылка кнопки. Просмотрел уже много всего, но так и ничего не получилось.
Вот скрипт
Вот меню
|
||||
|
|||||
AlexST |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 30.4.2006 Где: Москва Репутация: нет Всего: 3 |
Здесь вопрос такой: как скрипт на странице раздела узнает, что эту картинку надо отобразить именно так. Тут уж карты тебе в руки.
Вообще проще сделать чтобы скрипт сам менял картинку в зависимости от раздела, который отображается (если нет каких-то особенностей, ИМХО). |
|||
|
||||
Avb |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 5.7.2006 Репутация: 4 Всего: 13 |
michail20033, у тебя в href у ссылок стоят php файлы, что подразумевает перезагрузку страницы, и тут ИМХО лучше php-скриптом прописываешь нужный тебе src в соответствующий img и не навешиаешь обработчики событий для данного пункта меню.
Для случая, когда ссылки не подразумевают перезагрузку меню (грузится другой фрейм, AJAX, простой js и т.п.) я отредактировал твой код:
P.S. в чем смысл browser_ok? |
|||
|
||||
12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Решим задачу так, чтобы меню само выключало нажатую кнопку и меняло картинку на ней, если ссылка совпадает с адресом документа. Заодно сделаем скрипт меню в более приличном виде. (Взятый скрипт был очень старым, поэтому удалим мусор.)
Пока что сделал генерацию меню и проверил в 3 браузерах:
Если нужна совместимость с отключённым JS - несколько иначе; всё, что генерируется, придётся писать. И менять картинку без JS в клиенте не получится. Чтобы облегчить себе задачу написания такого меню, можем вывести переменную s в textarea скриптом и скопировать в новый код HTML. |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
michail20033, на дворе XXI век и ролловеры на JS слегка вышли из моды. Есть альтернативный подход.
А чтобы активная ссылка выделялась так же, как наведенная - можно создать для нее специальный CSS-класс (напр. a.current) с теми же стилевыми свойствами, что у a:hover, и сделать что-то вроде такого (для примера из ссылки выше):
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
Avb |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 5.7.2006 Репутация: 4 Всего: 13 |
SelenIT, IE понимает hover только для <a>-шки.
В данном случае - все ОК. Но если надо менять background-image скажем дива, то все равно нужно дописывать javascript. |
|||
|
||||
Zeroglif |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
||||
|
||||
Avb |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 5.7.2006 Репутация: 4 Всего: 13 |
Осталось починить совсем чуть-чуть http://www.quirksmode.org/bugreports/archi...beta/index.html ![]() |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |