Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme avec balise href = # retour haut de page

retour en haut de page si clique sur image

Sujet résolu
18 mars 2010 à 17:26:22

Bonjour chers zeros, j'ai créé un site depuis peu de temps pour le société dans laquelle je travaille. L'URL est la suivante:
http://garagedechatel.fr/
Le problème se trouve sur la page vehicule:
J'ai fait en sorte que lorsque je passe sur une image avec le curseur une main s'affiche pour indiquer à l'utilisateur qu'il peut cliquer sur une miniature pour l'agrandir. J'ai utilisé ceci:
<a href="#">-----<a>
.

Ca marche mais si je clique sur un véhicule en bas de page, j'ai un retour en haut de page systématique. J'aimerais que ca arrete de remonter en haut de page.
J'ai une petite fonction javascript:
<script type="text/javascript">
	   //<![CDATA[
			
			
			function AfficheMaxi(a, id)
			{
			document.getElementById('ZonePrMax_'+id).innerHTML ="<img src='images/"+a+"'  />";
			}
		//]]>
		</script>

Et voici une partie de mon code pour une miniature :
<td>
								
								<?php
									echo '<a href="#"><img src="miniatures/'.htmlspecialchars($donnees['image3']).'" alt="'.$marque_modele.'" title="Cliquez pour agrandir" onclick="AfficheMaxi(\''.$donnees['image3'].'\', '.$i.');" /></a>';
								?>
							</td>


Je pense qu'il faut peut être changer le # dans href mais après plusieurs recherche sur des forums je n'ai pas trouvé la solution. Si quelqu'un a une idée ... merci
  • Partager sur Facebook
  • Partager sur Twitter
18 mars 2010 à 17:42:04

Le # va réafficher la page courante (et donc remonter).

Si c'est juste pour avoir la "main", tu peux ne pas mettre de lien et mettre :
img{cursor: pointer;}
(le plus logique à mon avis puisque le onclick est sur l'image)

ou tu peux rendre le lien inactif avec un return false; dans ton onclick

ou alors : <a href="javascript:void(0)">
  • Partager sur Facebook
  • Partager sur Twitter
18 mars 2010 à 17:43:27

Je pense que tu as une ancre en trop.

Et je crois qu'il n'y a pas besoin que l'on puisse cliquer sur les images, à ce que j'ai pu voir.
Tout simplement parce que tu n'as pas de nouvelle image qui s'ouvre, de page, de lien lorsque tu cliques dessus.

Cependant, le fait qu'il y-ait une main qui s'affiche donne l'impression qu'il faut cliquer. Alors c'est ton choix, mais je ne pense pas que ce soit judicieux, mais c'est ton choix... ;)
  • Partager sur Facebook
  • Partager sur Twitter
18 mars 2010 à 17:50:46

Mais si, il faut cliquer puisque ça permet d'agrandir l'image.
  • Partager sur Facebook
  • Partager sur Twitter
18 mars 2010 à 17:57:46

+1 à selen, tu dois utiliser un return false qui inhibe le href.
  • Partager sur Facebook
  • Partager sur Twitter
18 mars 2010 à 17:59:08

Citation : loun4st4ck

+1 à selen, tu dois utiliser un return false qui inhibe le href.



Tu trouves pas que pas de lien du tout et un cursor:pointer serait mieux ?
  • Partager sur Facebook
  • Partager sur Twitter
18 mars 2010 à 18:08:37

Oui c'est sur mais il y a un risque d'inaccessibilité : l'élément A est par défaut focuçable (contrairement à IMG qui peut le devenir en rajoutant un tabindex="0" (attention, j'ai bien dis 0, pas 1 ni -1 ^^ ) => encapsulé l'image dans un A signifie la réception du focus lors d'une navigation clavier (via la touche tab) et par conséquent le déclenchement de l'événement onclick en appuyant sur la touche entrée.

[EDIT] : hum, je me rends compte qu'il utilise innerHTML, c'est pas bien stvoim, préfère la méthode createElement du DOM :p
  • Partager sur Facebook
  • Partager sur Twitter
18 mars 2010 à 18:19:55

Sympa d'avoir les avis d'un intégrateur web confirmé ! :)
Encore appris quelque chose ... Merci
  • Partager sur Facebook
  • Partager sur Twitter
18 mars 2010 à 18:21:29

De rien, tu es sur la bonne voie ;)
  • Partager sur Facebook
  • Partager sur Twitter
18 mars 2010 à 21:50:28

J'ai utilisé le <a href="javascript:void(0)"> et ca marche. Merci pour l'astuce. Je dois dire que je ne m'y connais pas du tout en javascript: loun4st4ck pourquoi tu dis :
"je me rends compte qu'il utilise innerHTML, c'est pas bien stvoim, préfère la méthode createElement du DOM " ?
c'est du chinois. Va falloir que je me mette au javascript.
Merci pour vos conseils respectifs.
  • Partager sur Facebook
  • Partager sur Twitter
19 mars 2010 à 14:53:02

Comme tu as déjà un onclick en javascript, met plutôt un return false; c'est plus propre:

<?php
									echo '<a href="#"><img src="miniatures/'.htmlspecialchars($donnees['image3']).'" alt="'.$marque_modele.'" title="Cliquez pour agrandir" onclick="AfficheMaxi(\''.$donnees['image3'].'\', '.$i.'); return false;" /></a>';
?>

  • Partager sur Facebook
  • Partager sur Twitter
12 janvier 2018 à 0:16:41

Bonjour,

j'ai un autre problème avec la balise href:

j'écris dans le document html <a href="nom de fichier" (ça marchait bien sur un site que j'avais créé pour y exposer des fautes chirurgicales quand j'étais enfant dans les années 1962/63 pendant la guerre froide avec les décisions des tribunaux et des copies de comptes rendus opératoires et de radios de l'époque, histoire de me souvenir un peu pour les longues soirées d'hiver quand je n'aurai plus de mémoire et depuis une semaine, quand je veux faire des modifs, impossible de lire les documents (décisions de justice, comptes rendus opératoires, de radios, etc..) sur le site et dans la page html, la balise a été modifiée avant que je ,ne la télécharge sur le site et est devenue:

<a href="file:///C:/..etc..nom de fichier"!! comment est-il possible que la balise ait été modifiée?

Est-ce un de mes logiciels sur mon poste? j'ai désinstallé plusieurs softs dont mozila et une suite microsoft mais c"est galère, j'ai du télécharger mon fichier sur mon site depuis l'extérieur pour que ça remarche, merci de vos  lumières, j'ai été dba oracle et développeur PLSQL mais je suis ignare question web

  • Partager sur Facebook
  • Partager sur Twitter
12 janvier 2018 à 7:04:31

Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention plus facilement.
Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

Pour plus d'informations, nous vous invitons à lire les règles générales du forum

Déterrage

Citation des règles générales du forum :

Avant de poster, demandez-vous si ce que vous allez dire apporte quelque chose au sujet. Si votre message n'apporte rien, vous ferez perdre du temps à tout le monde et le sujet pourrait dévier ou devenir difficile à suivre.

Aussi, vérifiez la date du topic. Le déterrage de topic nuit au bon fonctionnement du forum et est interdit. Utilisez les boutons pouce en haut pour dire merci. Si le topic date de plus de deux mois sans réponses, mieux vaut ne pas répondre.

Je ferme ce topic.

  • Partager sur Facebook
  • Partager sur Twitter

Pas d'aide concernant le code par MP, le forum est là pour ça :)