Цвет тега a через javascript

RaftKorn
На сайте с 20.03.2007
Offline
166
963

Есть скрипт для выпадающего меню:


<script type="text/javascript">

function overPunkt(obj_listPunkt)
{
/* делаем выпадающее меню видимым */
obj_listPunkt.childNodes[1].style.display="block";
/* ставим выпадающее меню ниже пункта меню */
obj_listPunkt.childNodes[1].style.top=obj_listPunkt.offsetHeight;
/*дальше идет оформление пункта меню */
obj_listPunkt.style.background="url('<?php bloginfo('stylesheet_directory'); ?>/images/dropmenuhover.jpg')";
obj_listPunkt.style.padding=0;
/* запоминаем цвет текста пункта меню, чтоб потом его можно было восстановить */
color_text=obj_listPunkt.style.color;
obj_listPunkt.style.color="#ffffff";
}

function outPunkt(obj_listPunkt)
{
/* делаем выпадающее меню невидимым */
obj_listPunkt.childNodes[1].style.display="none";
/* дальше восстанавливаем первоначальный внешний вид пункта меню */
obj_listPunkt.style.background="transparent";
obj_listPunkt.style.padding=0;
obj_listPunkt.style.paddingBottom=0;
obj_listPunkt.childNodes[0].style.border="none";
obj_listPunkt.style.color=color_text;
}

</script>

Вот так выводим само меню:

<div class="headmenu">


<a href="#" ><div class="punkt" оnМоusеОvеr="overPunkt(this);" onMouseOut="outPunkt(this);"><div><a href="#" >Home</a></div><div class="list_punkts">
<div class="list_punkts_top"></div>
<div class="kont">
<br><br>
Текст
<br><br>
<div class="list_punkts_bot"></div>
</div></div></a>

</div>

Так вот вопросик такой - как при помощи вышеуказаного скрипта задать цвет (при наведении) тегу a (<a href="#" >Home</a>)?

Тут дело в том, что я то могу тегу задать и через стиль цвет при наведении, но когда мышка уходит на выпавшее поле - цвет снова становится исходным, а надо чтоб пока поле открыто - цвет был бы нужным.

Если у меня используется просто текст, то ему цвет задается через :

obj_listPunkt.style.color="#ffffff";

А вот как тегу a задать?

Премиум верстка и дизайн под ключ ( https://searchengines.guru/ru/forum/1045270 )
E
На сайте с 05.01.2004
Offline
123
#1

onmouseover и onmouseout попробуйте.

RaftKorn
На сайте с 20.03.2007
Offline
166
#2

evdy, так они ж для div class="punkt" используются. или можно еще и туда вставить? Я просто в javascript почти 0...

J
На сайте с 02.02.2009
Offline
53
#3

оnМоusеОvеr="overPunkt(this);changeColor(this,'red')"

function changeColor (o,color){

o.style.color=color;

}

как-то так

UPD: не прочитал сначала внимательно, у evdy правильный вариант=)

E
На сайте с 05.01.2004
Offline
123
#4

Я имел ввиду, что можно использовать данные события для предания цвета тексту или ссылке, пока курсор мыши находится в опереденной области. В данном случае в меню.

Набросал пример:

<script>
function A_color(de) {
if(de==1) {
parent.AW.style.color="#FF0000";
}
if(de==2) {
parent.AW.style.color="#0000FF";
}
}
</script>
<a ID="AW">123</a>

<div style="width:100px; height:100px; background-color:#FFF000;" onmouseover="A_color(1)" onmouseout="A_color(2)"></div>
[Удален]
#5

Это все делается в тыщу раз проще


<div class='punkt'>
...
<div class='menu'>
<a href='#'>...</a>
</div>
<div class='cont'>
</div>
</div>

<style>
div.menu
{
display:none;
}

div.punkt:hover div.menu
{
display:block;
}

div.punkt:hover a:hover
{
color:цвет ссылки при наведении и при развернутом меню
}

</style>

И никакого JS

Я особо не вникал в вашу структуру - еще не хватала childNodes отсчитывать, но я думаю вы по аналогии сделаете если захотите

dkameleon
На сайте с 09.12.2005
Offline
386
#6
neolord:
Это все делается в тыщу раз проще

+100

только хак для ИЕ6 не забыть :)

Дизайн интерьера (http://balabukha.com/)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий