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