2009-03-03 8 views
0

J'ai une page avec du texte et des liens. Je veux afficher l'image là-bas en cliquant sur ces liens. Cependant, je suis tenu de ne pas utiliser javascript du tout. Tout ce que je peux utiliser est un composant côté serveur comme PHP. MerciDévelopper un lien pour afficher l'image sans utiliser javascript

+0

Quelle langue voulez-vous utiliser? Vous dites "comme PHP", mais que pouvez-vous faire? – obeattie

Répondre

3

Puisque vous avez indiqué dans un commentaire que vous ne voulez pas recharger la page et que vous ne pouvez pas utiliser Ajax, PHP ne vous aidera pas car il fonctionne sur le serveur. Au lieu de cela, vous pouvez réaliser ce que vous voulez avec CSS. Jetez un oeil à this simple demo.

Fondamentalement, vous mettez l'image dans le lien:

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

puis spécifiez dans votre quelque chose CSS comme:

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

afin que l'image est masquée par défaut, mais une fois que l'utilisateur clique sur le lien, l'image est affichée. Si vous avez plusieurs images sur votre page, vous devez attribuer lien chacun un autre point d'ancrage href:

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

Un problème potentiel avec cette approche est qu'une fois qu'un utilisateur a révélé une image particulière, cette image sera également révélée par par défaut les visites suivantes de cet utilisateur sur cette page, sauf s'il efface l'historique de son navigateur. Si vous voulez empêcher cela, c'est-à-dire que vous masquez toujours toutes les images par défaut, alors, par exemple, votre code PHP pourrait générer des ancres href aléatoires à chaque fois.

2

Ceci est tout à fait possible, mais vous devez tolérer le fait que lorsque l'utilisateur clique sur le lien, la page devra recharger afin d'afficher l'image.

Donc, en gros, vos liens seront quelque chose comme ceci:

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

Et puis votre PHP comprendra une balise IMG pour l'image appropriée, peut-être comme ceci:

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

Si vous pouviez utiliser Javascript, vous pourriez le faire fonctionner sans avoir besoin de recharger la page, mais à part ça, le faire avec PHP devrait être parfait.

+0

Peut-il être fait sans recharger la page. Avec Javascript c'est facile. Mais je suis tenu de ne pas l'utiliser. – Rakesh

+0

@Rakesh - vous ne pouvez pas utiliser php sans recharger la page - sauf si vous utilisez ajax, qui est javascript etc ... – yoavf

+0

Bon conseil, j'ajouterais quelques règles pour le paramètre $ id. – kender

Questions connexes