[RESOLU] Question sur la balise <a>

Question sur la balise <a> [RESOLU] - HTML/CSS - Programmation

Marsh Posté le 04-08-2008 à 14:58:49    

Bonjour
 
J'ai un texte cliquable qui exécute du code javascript (affiche ou cache du texte)
Cela fonctionne bien mais j'ai un problème d'ancrage
 
Si mon code est le suivant

Code :
  1. <a onclick="montrerCacher();" >détails</a>


Problème
Lorsque je passe la souris sur le lien cliquable, il ne se transforme pas en main , mais en curseur de modification de texte (la barre verticale avec les deux barres horizontales en haut et en bas)
 
 

Code :
  1. <a href="" onclick="montrerCacher();" >détails</a>


Problème
Lorsque je clique sur le lien ,il me ramène en début de page
J'ai essayé HREF="#"
Et je souhaiterais éviter d'utiliser des ancrages
 
 
 
Merci


Message édité par Lenoiche le 04-08-2008 à 15:15:18
Reply

Marsh Posté le 04-08-2008 à 14:58:49   

Reply

Marsh Posté le 04-08-2008 à 15:08:20    

plusieurs soluce:

 

tu vires le href vide et tu mets une propriété CSS:

 

cursor:pointer;

 

sur le lien.

 

Sinon tu mets un vrai lien, et tu return false dans ta fonction onclick

 

Soluce 1 plus propre dans ton cas
Soluce 2 bonne dans le cas d'un choix alternatifs en cas de non JS activé


Message édité par xtof_83 le 04-08-2008 à 15:09:11
Reply

Marsh Posté le 04-08-2008 à 15:13:51    

Bravo l'artiste
J'ai opté pour la solution 1
 

Code :
  1. <a style="cursor:pointer;" onclick="montrerCacher();" >détails</a>


 
Ca marche niquel
 
:jap:

Reply

Marsh Posté le 04-08-2008 à 15:15:30    

bonjour,
 
onclick, inutile en général +
sur un lien, on va "exécuter ce lien",  
donc il faut un return false ou void :
<a href="javascript:void(montrerCacher())" >détails</a>
 
mais, de toute manière... c'est une main qui
apparaît pour le pointeur !
si c'est autre chose, c'est que c'est modifé avec le css.
 
Cordialement.


Message édité par bul3 le 04-08-2008 à 15:16:51

---------------
[mon site] [m'écrire]
Reply

Marsh Posté le 04-08-2008 à 15:25:42    

Bravo l'artiste numéro 2
 
Ta solution est beaucoup plus parlante
(Non pas que ta solution xtof_83 soit mauvaise hein ...)
 
J'adhère
:jap:

Reply

Marsh Posté le 04-08-2008 à 15:34:57    


ah ben..  j'avions point vu qu'il y avait
une réponse et que c'était résolu !
 
il faudrait tenir compte de ce que dit xtof !
>>en cas de non JS activé ?
@+


---------------
[mon site] [m'écrire]
Reply

Marsh Posté le 04-08-2008 à 15:44:32    

Merde
 
j'ai pas tilté que la solution de bul3 est en faite la solution 2 de xtof_83
 
mais alors la je me pose la question
je ne vois pas ce que veux dire exactement

Citation :

bonne dans le cas d'un choix alternatifs en cas de non JS activé

Reply

Marsh Posté le 04-08-2008 à 15:53:07    


>>la solution de bul3 est en faite la solution 2 de xtof_83  
quasi presque, effectivement.
 
>>JS non activé
tout le javascript est purement et simplement ignoré.
 
on devrait donc ( mais qui le fait réellement ? )
prévoir une "alternative".  
pur html  ou langage serveur,
ou <noscript>html exécuté si js non activé
ne serait-ce qu'un message pour prévenir !</noscript>
...
comme tu parles de montrer / cacher,  
peut-être le css suffit-il d'ailleurs !!
 
@+


---------------
[mon site] [m'écrire]
Reply

Marsh Posté le 04-08-2008 à 16:01:21    

Dans ton cas, la solution 1 est la mieux, pas besoin de chercher plus loin ;)
 
Dans un cas du style, pour une raison tu veux une popup, tu auras:
 
<a href="page.html" onclick="popup('page.html');return false;"/>
 
Ce qui permet de faire ton petit bouiboui en JS, et pour les personnes qui ont pas de JS, ils auront page.html dans une page normal.
 
Il y a pleins d'autres exemple, mais dans ton cas, collapse/expand, ben c'est du JS pure donc pas besoin de resultat alternatif.
 
Après pour faire ce que tu veux faire super propre, il faut que tu t'assures que sans JS le contenu soit visible d'une autre maniére, etc...mais ça c'est un autre souci... On va pas trop t'encombrer non plus.

Reply

Marsh Posté le 04-08-2008 à 16:25:34    

D'accord je viens de comprendre quelque chose  [:tatanka]  
J'avais complètement oublier qu'on pouvait désactiver Javascript dans le navigateur  
 
Je vois tout à fait où tu veux en venir avec le résultat alternatif
 
Merci pour vos aides
 :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed