展开链接以显示图片而不使用javascript

时间:2009-03-03 11:44:56

标签: php javascript html

我有一个包含一些文字和链接的页面。我想在点击这些链接时在那里显示图像。但是,我一定不会使用javascript。我可以使用的是像PHP这样的服务器端组件。 谢谢

2 个答案:

答案 0 :(得分:3)

由于您在评论中声明您不想重新加载页面而无法使用Ajax,因此PHP无法帮助您,因为它在服务器上运行。相反,你可以用CSS实现你想要的。看看this simple demo

基本上,您将图像放在链接中:

<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锚点。

答案 1 :(得分:2)

这是完全可能的,但您必须容忍这样一个事实:当用户点击链接时,页面必须重新加载才能显示图像。

所以,基本上,你的链接将是这样的:

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

然后您的PHP将包含适当图像的IMG标记,可能是这样的:

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

如果你能够使用Javascript,你可以让它工作而不需要重新加载页面,但除此之外,用PHP做这件事应该没问题。