![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Как сделать так что-бы выделялись DIV'ы с атрибутом class="EditorButton" ?
Заменить класс на другой произвольный: class="EditorButtonHover" Вот такая вот конструкция:
Я нехочу у каждой ячейки прописывать onmouseover & onmouseleave. Я знаю что есть другой способ. Как его реализовать? Это сообщение отредактировал(а) Elfet - 30.1.2007, 15:43 |
|||
|
||||
| AKS |
|
|||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
А для IE можно "подсунуть" behavior с одной функцией, меняющей имя на класса элемента на альтернативный... |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Мне нужно кроссобраузерно
|
|||
|
||||
| AKS |
|
||||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
Как-нибудь так:
Elfet.htc (для IE):
Функцию можно и переписать на тот случай, если имена классов заранее неизвестны... |
||||
|
|||||
| 12345c |
|
||||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
JsPrimeryCode-43.htc :
Ещё вариант подобного кода - здесь, и демо: http://forum.vingrad.ru/index.php?showtopi...st&p=931979 Другой способ - аттачить события к каждому найденному элементу класса. Тоже 2 решения для типов бр. плюс скрипт обхода документа - заметно сложнее. Это сообщение отредактировал(а) 12345c - 3.3.2008, 12:43 -------------------- Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go |
||||
|
|||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
Elfet, ещё раз: что сделать надобно? по событию, внезапно у всех элементов с классом EditorButton поменять атрибуты стиля(например, цвет фона или рамку)? так почему бы не редактировать CSS-правило?
"document.styleSheets[0].cssRules[0].selectorText" - так мы из первой по порядку таблицы стилей выбираем первое правило и отображаем содержание селектора. ИЕ и тут отличился: тот же код для ИЕ должен выглядеть так: "document.styleSheets[0].rules[0].selectorText" У отдельного правила можно добраться до любого свойства через свойство style: "document.styleSheets[0].cssRules[0].style.color = '#F00';" - Gecko-like browsers "document.styleSheets[0].rules[0].style.color = '#F00';" - IE-like browsers Т.е. вся сложность - в переборе всех styleSheets и cssRules в поисках строки с селектором, содержащим ".EditorButton " и смене стиля этого правила. ----------------------------------------------------------------------------------- впрочем, быстрее и логичнее создать правило с атрибутом !important. с примером - пока помочь не могу, разбирайся сам. ссылка на док: wdh.suncloud.ru/contents.htm |
|||
|
||||
| Zeroglif |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
Мне на ум приходит простейшее, отказаться от стилизования div-a:
- картинку (которая в div-e) обернуть в тег a; - тегу a задать стиль display:block, займёт div; - и соответственно при наведении там же в стиле a:hover{background:red}; |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Всем спасибо, проблему уже решил
|
|||
|
||||
| Zeroglif |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 644 Регистрация: 22.9.2005 Репутация: 28 Всего: 66 |
События over/out могут быть очень быстрыми (мышь убежит, а событие не сработает) плюс могут срабатывать для вложенных элементов. Не наставиваю, конечно, но лучше всё-таки положиться на hover (отдельно с костылями для IE, о чём народ писал выше), ну, или вот простейший пример без javascript. Скрипт в вашем примере делает 10 вызовов одной и той же функции. Каждый вызов стоит денег, лучше сделать один вызов, передать в функцию массив id и пройти по нему циклом. Ещё лучше вместо того, чтобы 10 раз обходить документ в поисках элемента с нужным id, опереться на один родительский элемент, и обойти теги вложенные в этот элемент. |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Zeroglif, а вот такой вот вариант?
|
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |