php getElementById - PullRequest
       19

php getElementById

0 голосов
/ 05 мая 2011

У меня небольшая проблема, я хотел бы, чтобы div отображался, когда кто-то наводит курсор на изображение, проблема в том, что это изображение находится внутри php и там для document.getElementById не работает.Есть ли способ обойти это?

<?php echo "<img onmouseover='xxxxxx' src='img/img.png'>" ?>

что входит в х?

Ответы [ 3 ]

2 голосов
/ 05 мая 2011

Вам необходимо создать функцию javascript на веб-странице, где эта конкретная строка кода будет передаваться клиенту, который будет обрабатывать событие onmouseover, например:

<html>
<head>
<script language="javascript" type="text/javascript">
function imageSwap() {
   var img = document.getElementById("img1");
   //swap out the image...
}
</script>
</head>
<body>
<?php echo "<img id='img1' onmouseover='imageSwap()' src='img/img.png'>" ?>
</body>
</html>
1 голос
/ 05 мая 2011

Вы можете изменить код Брайана Дрисколла, чтобы он стал динамическим, например:

<html>
<head>
<script language="javascript" type="text/javascript">
function imageSwap(el) {
   var img = el.id;
   //swap out the image...
}
</script>
</head>
<body>
<?php echo "<img id='img1' onmouseover='imageSwap(this)' src='img/img.png'>" ?>
</body>
</html>

Таким образом, вы всегда будете иметь правильный идентификатор из изображения, над которым вы зависаете.Независимо от количества изображений

1 голос
/ 05 мая 2011

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

Убедитесь, что информация доступна для людей, которые тоже не используют указывающее устройство

проблема в том, что это изображение внутри php и там для document.getElementById не работает.

Вы ошиблись в диагностике проблемы. PHP работает на сервере, и его вывод отправляется клиенту. Он не может помешать чему-либо работать (хотя он может быть написан плохо, поэтому выводит то, чего вы не ожидаете).

Если вы думаете, что PHP является причиной вашей проблемы, вам нужно перестать спрашивать: «Почему JS, встроенный в этот PHP, не работает?» и начинаю спрашивать: «Почему JS, который выводится из PHP, отличается от JS, который я пытаюсь написать?»

что входит в х?

Трудно сказать, не видя остальной код.

Это зависит от того, почему вы не можете увидеть div в первую очередь. Это невидимо? Это не отображается? Разве это не часть документа? Это скрыто чем-то другим? и т. д.

Однако, как правило, следует избегать внутренних атрибутов событий в пользу назначения обработчиков событий с помощью JavaScript, хранящегося во внешних файлах. Это часть ненавязчивого JavaScript .

...