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 :

[IE bug] Mouseover, Timer, Layers


Sujet :

JavaScript

  1. #1
    Membre habitué
    Inscrit en
    Juin 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juin 2003
    Messages : 223
    Points : 145
    Points
    145
    Par défaut [IE bug] Mouseover, Timer, Layers
    Il s'agit donc d'un sous menu qui apparait sous un onmousover, et qui disparait au bout de 3 secondes d'inactivité.

    la fonction reload permet de detecter l'inactiviter et d reloader le calk en cas d'activité.

    bon alors voici le code JS que j'ai fait :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    var calkName = new Array();
    calkName[0] = "presentation";
    calkName[1] = "gallery";
    calkName[2] = "technique";
    var corner, lastCalk, timer;
     
    function popup(id, span) {
    	clearTimeout(timer);
    	var calk, name, offSet;
    	name = calkName[id] + "_layer";
    	if(lastCalk != null) lastCalk.style.visibility="hidden";
    	calk = document.getElementById(name);
    	corner = document.getElementById("corner");
    	lastCalk=calk;
    	if(window.ActiveXObject) 
    		offSet = -140;
    	else 
    		offSet = 0;
    	var calkX = findPosX(span) + offSet;
    	var calkY = findPosY(span) + 18;
    	var cornerX = calkX-35;
    	var cornerY = calkY-42;
    	calk.style.left = calkX + 'px';
    	calk.style.top = calkY + 'px';
    	corner.style.top = cornerY + 'px';
    	corner.style.left = cornerX + 'px';
    	calk.style.visibility="visible";
    	corner.style.visibility="visible";
    	timer = setTimeout('hideAll()',3000);
    }
     
     
    function reloadCalk() {
    	clearTimeout(timer);
    	timer = setTimeout('hideAll()',3000);
    }
     
    function hideAll() {
    	var name, calk,i;
    	corner.style.visibility="hidden";
    	for(i=0;i<calkName.length;i++) { 
    		name = calkName[i] + "_layer";
    		calk = document.getElementById(name);
    		calk.style.visibility="hidden";
    	}
     
    }
     
     
    function findPosY(obj) { le code marche pour IE et Firefox }
     
    function findPosY(obj) { le code marche pour IE et Firefox }
    Le code HTML :

    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
    24
    25
    26
    27
     
    			<ul>
    				<li><a href="index.php" ><span>Home</span></a></li>
    				<li><a href="#" onmouseover="popup(0,this)"><span>Presentation</span></a></li>
    				<li><a href="#" onmouseover="popup(1, this)"><span>Gallery</span></a></li>
     
    				<li><a href="#" onmouseover="popup(2,this)"><span>Technique</span></a></li>
    				<li class="last"><a href="index.php?mods=links"><span>Links</span></a></li>
    			</ul>
     
    <!-- SubMenu presentation -->
    			<div id="presentation_layer">
     
    				<img src="images/menu_01.gif" class="submenu_layer" alt="logo"/>
    				<!-- Debut de la liste -->
    				<div class="list">
    					<ul onmouseover="reloadCalk()">
    						<a href="index.php?mods=series"><li>Series</li></a>
    						<a href="index.php?mods=history"><li>History</li></a>
    						<a href="index.php?mods=protections"><li class="last">Protections</li></a>
     
    					</ul>
      		  </div>
    				<!-- Fin de la liste -->
    				<div class="line"></div>
    	  </div>
    			<!-- SubMenu presentation -->

    Et donc j'ai un probleme avec IE qui m'efface de temps en temps les <li> de <div class="list">

    pour voir le probleme visualiser sur IE :
    http://www.profildesign-system.com/v2.a/


    Merci d'avance pour l'aide

  2. #2
    Membre habitué
    Inscrit en
    Juin 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juin 2003
    Messages : 223
    Points : 145
    Points
    145
    Par défaut
    up de nouveaux

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

Discussions similaires

  1. Bug Timer sur appel IntToStr ?
    Par sinfoni dans le forum Composants FMX
    Réponses: 17
    Dernier message: 03/04/2012, 11h35
  2. inclure un timer sur un mouseover.
    Par fenrir0680 dans le forum jQuery
    Réponses: 2
    Dernier message: 04/09/2011, 21h58
  3. [CSS 2] bug bloquant navigation + layer sous IE6
    Par gtraxx dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 19/05/2009, 09h06
  4. Timer/Compteur/où est le bug ?
    Par DURVILLE dans le forum Langage
    Réponses: 4
    Dernier message: 17/04/2008, 10h33
  5. Bug dans mon timer
    Par FredKéKé dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 25/01/2006, 15h27

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