Разверните ссылку, чтобы показать изображение без использования JavaScript - PullRequest
0 голосов
/ 03 марта 2009

У меня есть страница с текстом и ссылками. Я хочу отображать изображение там при нажатии на эти ссылки. Тем не менее, я обязан не использовать JavaScript вообще. Все, что я могу использовать, это какой-то серверный компонент, такой как PHP. Спасибо

Ответы [ 2 ]

3 голосов
/ 03 марта 2009

Поскольку в комментарии вы заявили, что не хотите перезагружать страницу и не можете использовать Ajax, PHP вам не поможет, поскольку он работает на сервере. Вместо этого вы можете достичь того, что вы хотите с помощью CSS. Посмотрите на это простое демо .

По сути, вы помещаете изображение в ссылку:

<a href="#img1">link text <img src="..."></a>

и затем укажите в своем CSS что-то вроде:

a img {display:none}
a:visited img {display:inline}

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

<a href="#img1">link text <img src="..."></a>
<a href="#img2">link text <img src="..."></a>

Одна потенциальная проблема с этим подходом состоит в том, что, как только пользователь обнаружил определенное изображение, это изображение будет также отображаться по умолчанию при последующих посещениях пользователем этой страницы, если он не очистит свою историю браузера. Если вы хотите предотвратить это, то есть всегда скрывать все изображения по умолчанию, то, например, ваш PHP-код может генерировать случайные якорные ссылки href.

2 голосов
/ 03 марта 2009

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

Итак, ваши ссылки будут примерно такими:

http://myserver/myscript.php?id=0

И тогда ваш PHP будет включать тег IMG для соответствующего изображения, возможно, так:

$id = $_GET['id'];
echo "<img src='/images/image_$id.jpg'>\n";

Если бы вы могли использовать Javascript, вы могли бы заставить его работать без необходимости перезагружать страницу, но кроме этого, делать это с PHP должно быть хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...