IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Pourquoi cel� n�cessite-t-il un double clic ?


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Gunner4902
    Invit�(e)
    Par d�faut Pourquoi cel� n�cessite-t-il un double clic ?
    Bonjour,

    Je ne comprends pas le comportement de mon bout de JavaScript… Pour qu'il fonctionne il a besoin d'un double clic, alors qu'il devrait fonctionner avec un simple clic. Si qqun a le pourquoi du comment, cel� m'int�resse fortement.

    Voici mon code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <script type="text/javascript">
    			function spoiler_text(nom_div)
    			{
    			if (document.getElementById(nom_div).style.display=="none" )
    				{document.getElementById(nom_div).style.display="block";}
    			else
    				{document.getElementById(nom_div).style.display="none";}
    			}
     
    			function spoiler_img(nom_div)
    			{
    			if (document.getElementById(nom_div).style.display=="block" )
    				{document.getElementById(nom_div).style.display="none";}
    			else
    				{document.getElementById(nom_div).style.display="block";}
    			}
    		</script>
    <div id="qui">
    			<span onClick="spoiler_text('qui_spoiler'), spoiler_img('qui_image');" id="qui_image"></span>
    			<div id="qui_spoiler" onClick="spoiler_text('qui_spoiler'), spoiler_img('qui_image');">
    				<p>qui est-ce ?</p>
    			</div>
    		</div>
    et le CSS qui va avec "qui" :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    			#qui {position:absolute; left:120px; top:250px; z-index:2;}
    			#qui span {position:absolute; height:70px; width:108px; cursor:pointer;}
    			#qui_image {position:absolute; background:url(www/lips.png); height:70px; width:108px; display:block; z-index:1;}
    			#qui_spoiler {display:none;}
    			#qui_spoiler span {text-shadow:2px 2px 2px #900; width:400px; margin-left:-30px;}
    Merci de votre aide.

  2. #2
    Membre exp�riment� Avatar de marts
    Inscrit en
    F�vrier 2008
    Messages
    233
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 233
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    onClick="spoiler_text('qui_spoiler'); spoiler_img('qui_image');"

  3. #3
    Gunner4902
    Invit�(e)
    Par d�faut
    Il y a en effet deux actions.
    Le probl�me est que lors du premier clic, aucune action ne se passe et que lors du second clic les deux actions se produisent.

    Comment faire pour qu'un seul clic soit n�cessaire (ce qui serait nettement plus pratique et intuitif !) ?
    Merci

  4. #4
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    1 163
    D�tails du profil
    Informations personnelles :
    �ge : 57
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 1 163
    Par d�faut
    Bonjour,
    Effectivement deux clics sont n�cessaires ...
    Tu peux peut �tre rajouter ceci dans la balise <body> :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    <body onload="spoiler_text('qui_spoiler'); spoiler_img('qui_image');">

  5. #5
    Gunner4902
    Invit�(e)
    Par d�faut
    Merci Jumano, cel� r�gle en effet le probl�me

    Par contre j'ai une petite question qui rebondit sur ta solution. J'utilise plusieurs spoilers diff�rents dans ma page. Dois je les appeller un par un, ou faire un code g�n�rique comme dans le JS :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <body onload="spoiler_text(nom_div); spoiler_img(nom_div)">
    (mais cel� ne semble pas fonctionner avec ma syntaxe…)

    Merci

  6. #6
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    1 163
    D�tails du profil
    Informations personnelles :
    �ge : 57
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 1 163
    Par d�faut
    Effectivement le mieux serait de trouver la bonne syntaxe pour r�duire ton code dans le <onload>, mais malheuresement je ne suis pas assez cal� en Javascript pour te la donner.
    Sinon comme tu le dis tu peux toujours indiquer un � un tous tes "spoilers" en attendant le passage d'une �me charitable qui connaisse la bonne syntaxe

Discussions similaires

  1. Pourquoi le Double clic est ignor�
    Par banban54 dans le forum Delphi
    R�ponses: 2
    Dernier message: 17/05/2007, 17h57
  2. [VB.NET] Ouvrir fichier dans appli par double-clic dessus
    Par vynce dans le forum Windows Forms
    R�ponses: 4
    Dernier message: 29/03/2005, 16h43
  3. ListBox, Cases � cocher et Double-Clic
    Par Lo�c dans le forum VB 6 et ant�rieur
    R�ponses: 2
    Dernier message: 10/02/2005, 10h18
  4. Ouvrir un fichier sur un double-clic dans une TListBox
    Par SegmentationFault dans le forum Composants VCL
    R�ponses: 4
    Dernier message: 09/08/2004, 17h22
  5. [d�butant] Listview et double-clic
    Par Runlevel dans le forum C++Builder
    R�ponses: 12
    Dernier message: 29/06/2004, 19h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo