![]() |
Динамическая смена класса
Как возможно поменять класс или его свойство при наведении мыши на какой-то div
Код:
<div class="c_content" onMouseOver="this.className='roll_content'" onMouseOut="this.className='c_content'">Однако этот вариант не проходит валидацию. Можно это делать через свойство: Код:
Однако валидно и в IE реализовано на сайте http://www.drive.ru/bmw/news/2008/06...oldovstva.html Помогите пожалуйста. |
Зачем тут вообще JS? не проще ссылку сделать блоком и установить в hover бэкграунд?
P.S. если не проще делается всё просто document.getElementById(id).style.background = 'red' |
Ваш второй вариант тоже не валиден, т.к. в нём надо на функцию всёравно ссылаться.
|
вопрос был "Как возможно поменять класс" вам ответили, через style, готовый когд по примеру преведённому вами приблезительно выглядит так:
<script language="javascript"> function redColBg(p) { bg = p.style bg.background = '#d00101' } </script> <div onclick="redColBg(this);"></div> |
Йожег:
Если вы внимательно читали мой пост, то там написано, что вариант с применением ссылки на javascript функцию из блока <div> не проходит валидацию. Это WC3 Validation. Вы ведь знаете о такой? |
Liox в вашем посте вы утверждаете что не валидно, и не работает то что вы написали с ошибками.
вот пример с моей последней работы, бэкграунд+прозрачность Код:
<style type="text/css"> |
Да нет же вы всё опять не так поняли. Те способы что я выше указал, они в любом случае не подойдут. Их я привёл для того, чтобы показать, то чего я хочу добится и что мне явно не подходит. Мне нужен валидный код, и работа во всех браузерах.
То что вы предлагаете менять подсветку у текста, мне ведь не это надо. И при этом текст ещё создаёт анимацию руки(для нажатия на ссылку). Если бы вы потрудились перейти по ссылке, которую я предоставил, то увидели бы для чего используется изменение цвета фона. Кстати вашь пример совсем не правелен с позиции семантики. Блочные элементы не правильно заключать в строчные. Думаю что единственный действенный способ это применение *.htc только он сильно грузит проц, попробую немного изменить ето. |
P.S курсор меняется свойством cursor
приведённый на сайте пример - извращение, неужели такие лаги, загрузка проца стоят валидности которая по смыслу не отменяет кросбраузерность? |
Приторможение конечно имеет место быть. Но только если у смотрящего ie 6.0. И тормознутый проц :) . Расчитывая на то что страницы у меня всётаки будут не такие обьёмные как на этом сайте. То это меньшее зло. Вобщем метод простой, просто нужно добавить следующее:
Код:
<![if lt IE 7]>Код:
BODY{ |
1) 1й вариант вполне себе валиден. тэг только закройте, да регистр весь в нижний.
2) http://www.artlebedev.ru/tools/techn...ml/css2_in_ie/ 3) по-хорошему нужно делать так (атрибуты в нижнем регистре): Код:
<div onmouseover="this.className += 'my_class';" onmouseout="this.className = this.className.split('my_class').join('');"></div>+ тут наблюдается совершенно идиотское стремление к валидации ради самой валидации. вопрос на засыпку: на кой она вам, если работает и так и сяк? |
| Часовой пояс GMT +4, время: 14:12. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.