Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   onMouseOver (http://forum.oszone.net/showthread.php?t=256135)

lora.1 12-03-2013 19:21 2109573

onMouseOver
 
Здравствуйте.Есть код вывода на экран последних сообщений.

Это ссылки:
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 2109605

Попробуйте передать в качестве аргумента функции сам элемент (this). Соответственно, в функции его надо принять и обработать.
Цитата:

Цитата lora.1
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 2109842

Не работает.Текст на месте,только без стилей.

lora.1 13-03-2013 14:27 2110251

Cпасибо.Вопрос решён.


Время: 23:01.

Время: 23:01.
© OSzone.net 2001-