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 :

Mon div disparait lors du choix de mon identifiant


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 112
    Points : 70
    Points
    70
    Par défaut Mon div disparait lors du choix de mon identifiant
    Bonjour,

    j'ai créé un div qui s'affiche, lorsque l'on met la souris sur un lien, mon div s'affiche bien cependant lorsque je veux renseigner mon identifiant en cliquant sur les choix proposés ( voir photo) celui-ci disparait ...
    http://imageshack.us/content_round.p...KuS2eXR1afU48o

    J'aimerais savoir comment faire, pour afficher toujours le div lors de la sélection de mon identifiant.

    le HTML :
    Code html : 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <div id="layer_compte_off" style="display: none;" onmouseover="bigImg(this)" onmouseout="normalImg(this)"   >
    	<div class="compte_off_haut">
    		<div class="compte_off_bas">
    			<div class="compte_txt">
    				<form id="form_connexion_mon_compte" method="post" action="#">
    					<div class="cpt_1">
    						DéJà CLIENT ?
    					</div>
    					<div class="cpt_2">
    						Mon email
    					</div>
    					<div class="cpt_3">
    						<input id="email_address" class="input_compte" type="text" value="" name="email_address" >
    					</div>
    					<div class="cpt_4">
    						Mot de passe
    					</div>
    					<div class="cpt_5">
    						<input id="password" class="input_compte" type="password" value="" name="password">
    					</div>
    					<div class="cpt_7">
    						<input id="persist_box" type="checkbox" checked="checked" value="1" name="session_active">
    						<label name="persist_box">Se souvenir de moi</label>
    					</div>
    					<div class="separateur_panier"></div>
    					<div id="submit_connexion_mon_compte" class="cpt_6">
    						<input id="formulaire_connexion_mon_compte" class="btn_ok" type="submit" value="ok" name="ok">
    					</div>
    				</form>
    			</div>
    			<div class="separateur_compte_off"></div>
    			<div class="nv_client">NOUVEAU CLIENT ?</div>
    			<div class="creer_compte">
    				<a href="./inscription.php">Créer mon compte</a>
    			</div>
    		</div>
    	</div>
    </div>

    le Javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function bigImg(x){
    	document.getElementById("layer_compte_off").style.display="block";
    	return true;
    }
    function normalImg(x)
    {
    document.getElementById("layer_compte_off").style.display="none";
    }
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    type="submit"
    => rechagement de page ...

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 112
    Points : 70
    Points
    70
    Par défaut
    en faite lorsque je rentre la première lettre de mes identifiants firefox me propose de compléter celui-ci en ajoutant des suggestions, (voir image -> http://imageshack.us/scaled/thumb/89/5j6.png ) et lorsque je clique sur l'une de ces suggestions mon div disparait ....

    j'ai essayé de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     onmouseover="bigImg(this)"
    sur le input de l'adresse mail mais sans succès

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 079
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 079
    Points : 44 660
    Points
    44 660
    Par défaut
    Bonjour,
    j'ai un petit problème de compréhension à la lecture du code
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="layer_compte_off" style="display: none;" onmouseover="bigImg(this)" onmouseout="normalImg(this)"   >
    comment fais tu pour avoir un événement onmouseover sur un élément non affiché, d'autant que cela doit être la fonction déclenchée qui doit montrer l'élément ?

    Je penses que ces points sont à éclaircir!

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 112
    Points : 70
    Points
    70
    Par défaut
    @NoSmoking :

    effectivement j'ai oublié une balise div voir le code ci-dessous

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div id="top4">
    	<span>|</span><a href="mon_compte.php" onmouseover="bigImg(this)" >
    	Mon compte</a>
    </div>

    dans l'image ci-dessous, on peut voir le div lorsque la souris est sur celui-ci, et le div qui disparait lorsque la souris et sur l'une des propositions (mag, pretre etc ...)

    http://www.hostingpics.net/viewer.ph...33317image.png

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    C'est un grand classique de onmouseover et onmouseout.
    Si tu envisages ta page comme un empilement de calques, tu pourras comprendre qu'une div présente dans une autre va masquer une partie de son élément parent.
    Du coup, lorsque tu survoles la première div, l'événement mouseover va se déclencher comme attendu, mais lorsque tu survoles la div enfant, alors tu ne survoles plus la div parente et l'événement mouseout se déclenche.

    jQuery pallie ce problème connu avec les événement internes mouseenter et mouseleave qu'il est possible de reproduire en JavaScript natif en utilisant l'objet event associé à l'événement pour récupérer l'élément ayant reçu l'événement et en vérifiant :
    • sur le mouseover que l'élément qui a reçu l'événement n'est pas un enfant de celui en cours de survol ;
    • sur le mouseout que l'élément qui a reçu l'événement est bien le parent.

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 079
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 079
    Points : 44 660
    Points
    44 660
    Par défaut
    Du coup, lorsque tu survoles la première div, l'événement mouseover va se déclencher comme attendu, mais lorsque tu survoles la div enfant, alors tu ne survoles plus la div parente et l'événement mouseout se déclenche.
    ce qui n'est pas le cas en CSS avec la pseudoclasse :hover.

  8. #8
    Membre régulier
    Inscrit en
    Octobre 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 112
    Points : 70
    Points
    70
    Par défaut
    j'ai résolu le problème, voici la correction :

    le jquery:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $(document).ready(function(){		
    		  $('#top4').hover(function() {
    		  $('#layer_compte_off').show();			
    		  }); 		
     
    		 $('#layer_compte_off').mouseenter(function() {
    	     $("#layer_compte_off").css("display","block");
    		 }).mouseleave(function(event){
    			if(event.target.tagName != 'INPUT') {
    			$('#layer_compte_off').fadeOut();
    			}
    			}); 	
     
    		});

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. mon dessin disparait lors de passage a une autre fenetre
    Par tifawete dans le forum Windows Forms
    Réponses: 3
    Dernier message: 14/07/2008, 12h58
  2. [javascript] Pourquoi mon div s'agrandit quand j'agrandis sa bordure ?
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/09/2006, 14h08
  3. Erreur windows lors du lancement de mon appli delphi
    Par socooooool dans le forum Delphi
    Réponses: 10
    Dernier message: 17/07/2006, 16h34
  4. Centrer un mon div verticalement
    Par Invité dans le forum Balisage (X)HTML et validation W3C
    Réponses: 20
    Dernier message: 12/04/2006, 09h41
  5. [CSS] Mon texte ou mon image disparait sous IE.
    Par KneXtasY dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 05/12/2005, 17h59

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