![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 2 Всего: 32 |
Приветствую Вас!
Вот, значит, какая проблема: Есть движок, у которого все элементы формы при наведении должны менять класс(css), а при убирании курсора, соответственно наоборот. Вот, значит, как у меня сейчас сделано:
Только вот проблема, в ИЕ такая фишка не проходит... Придумал решение: Написать яваскрипт ф-цию, которая циклом прохожилась по всем элементам форм и ставит им на onrollover соответствующий класс и обратно, на onrollout. Пробовал сам написать, только не работает. Помогите, пожалуйста! -------------------- ![]() ![]() |
|||
|
||||
| Nicholas_S |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 12.10.2006 Где: Санкт-Петербург Репутация: 5 Всего: 19 |
GZep, если с использованием JS, то так:
-------------------- ...все в мире относительно |
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 2 Всего: 32 |
А можно написать функцию, которая проходилась бы циклом по элементам и задавала им onMouseOver и onMouseOver?
-------------------- ![]() ![]() |
|||
|
||||
| SelenIT |
|
||||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
GZep, не надо ничего обходить циклом - ловите событие (при его всплытии) на уровне самой формы, и анализируйте объект-источник. В простейшем случае (как в данном примере, когда стили у кнопок и полей при наведении меняются одинаково) - примерно так:
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
||||
|
|||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 2 Всего: 32 |
Спасибо, но меня все-таки интересует вариант с циклом...
-------------------- ![]() ![]() |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
GZep, да что Вы на этом цикле зациклились-то, простите за каламбур? Насколько я могу судить, делать это циклом сейчас "не модно и не современно".
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Nicholas_S |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 12.10.2006 Где: Санкт-Петербург Репутация: 5 Всего: 19 |
GZep, ноу проблема:
-------------------- ...все в мире относительно |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Или так, только при этом для каждого элемента создается по паре экземпляров функции-обработчика, а можно было бы обойтись одной функцией на все события...
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 2 Всего: 32 |
Nicholas_S, то, что нужно! Спасибо! Прошу извинить меня за настырность с этим циклом. Мне правда неловко! Всем Спасибо. Сейчас напишу универсальную ф-цию и выложу её для народа...
Это сообщение отредактировал(а) GZep - 3.11.2006, 16:35 -------------------- ![]() ![]() |
|||
|
||||
| Nicholas_S |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 12.10.2006 Где: Санкт-Петербург Репутация: 5 Всего: 19 |
SelenIT, ...нужно!
Добавлено @ 17:25 ...блин, почему у меня кешируется все и не обновляется, ниче не пойму... -------------------- ...все в мире относительно |
|||
|
||||
| AKS |
|
||||||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
SelenIT,
Прямо в "яблочко", как говорится! ;) Что ж, поделюсь с Вами своими "впечатлениями" по теме, т.к. автора темы, похоже, Вам "спасти" не удалось... ;) Чуть-чуть переделал Ваш пример, ведь судя по таблице стилей, нужно на самом деле совсем немного (по "вашим следам" - легче топать ;) ):
Вызов:
|
||||||
|
|||||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
AKS, здорово. Только я бы постраховался и проверил n на существование...
И еще очень хочется навесить вызовы из скрипта же, не трогая HTML - к сожалению, этому я еще не научился, может быть, поможете? В принципе, в данном конкретном случае кроссбраузерность не нужна (в других браузерах CSS справляется сам), так что можно и не передавать событие при вызове, тогда весь JS легко выносится из HTML (и оформляется в виде .htc, к примеру). Но интересно динамическое навешивание обработчиков в общем случае, когда ссылка на event обязательна... Это сообщение отредактировал(а) SelenIT - 3.11.2006, 18:21 -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
А что мешает делать так?
Можно сделать и через behavior-стиль для IE: http://js2.ru/example/JsPrimeryCode-84.htm (пример - таблица) Т.е. вопрос к автору темы - зачем стремиться к циклам, если без них работает? Это сообщение отредактировал(а) 12345c - 3.3.2008, 13:18 -------------------- Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go |
|||
|
||||
| AKS |
|
||||||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
SelenIT,
Так ведь в функцию передается первым параметром ссылка на объект Event.
Зачем?
|
||||||
|
|||||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
12345c, насколько я понял, автору нужно подсвечивать только один элемент, а не группу. Поэтому вариант с контейнером, по-моему, мимо. А вот behavior - по-моему, самое то.
AKS, с проверкой действительно я перемудрил - мне казалось, что при отсутствии класса у элемента n останется undefined, не подумал, что оно преобразуется в пустую строку... -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |