PDA

Показать полную графическую версию : onMouseOver


lora.1
12-03-2013, 19:21
Здравствуйте.Есть код вывода на экран последних сообщений.

Это ссылки:
echo '<div class="dost_in"> ▸ <a href="' . $post_url .'" >' . $row[$i]['post_subject'] . '</a>';

Это текст собщения:
echo '<p class="block">' . $post_text .'</p>';

Хотел текст спрятать и показывать при наведении курсора на ссылку.Прописал ф-цию:

<script type="text/javascript" >
function latest()
{
(this.document||this.ownerDocument)
.getElementById("block").id = "active";
}
function endlatest()
{
(this.document || this.ownerDocument)
.getElementById("active").id = "block";
}
</script>

Вызываю в ссылки снипета:

echo '<div class="dost_in"> ▸ <a href="' . $post_url .'"
onMouseOver="latest()" onmouseout="endlatest()">' .
$row[$i]['post_subject'] . '</a>';

В результате:

1.Текст открывается при наведении только в первой ссылки при наведении на любую.

Не подскажите как правильно сделать.Понимаю,что наверное надо как то при выводе сравнивать ID,
но знаний не хватает как это дело прописать.

Спасибо.

Coutty
12-03-2013, 19:57
Попробуйте передать в качестве аргумента функции сам элемент (this). Соответственно, в функции его надо принять и обработать.
onMouseOver="latest(this)" onmouseout="endlatest(this)" »

<script type="text/javascript" >
function latest(element)
{
element.class = "active";
}

function endlatest()
{
element.class = "block";
}
</script>
И не надо менять id элементов. Меняйте классы.

Я, правда, не помню, можно ли вот так в лоб устанавливать класс. Но проверять не сильно хочется.

боксер
12-03-2013, 23:16
Не работает.Текст на месте,только без стилей.

lora.1
13-03-2013, 14:27
Cпасибо.Вопрос решён.




© OSzone.net 2001-2012