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 :

offsetLeft sous Firefox


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 164
    Points : 67
    Points
    67
    Par défaut offsetLeft sous Firefox
    Salut,

    Voilà, je cherche à positionner un layer par rapport à une image qui se trouve à une position fixe dans ma page.
    Sous IE, le code marche nickel mais sous Firefox, c'est total à l'ouest : plus j'élargis ma fenêtre et plus mon layer se décale sur la droite (left>1000 au lieu de 200) au lieu de rester au coin de mon image... J'ai cherché un peu partout une solution mais tout le monde semble faire la même chose...

    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
     
    obj=document.getElementById('ImagePortrait');
    		if (obj.parentNode) {
    			curleft = parseInt(obj.offsetLeft);
    			curtop = parseInt(obj.offsetTop);
    			while (obj = obj.parentNode) {
    				if(!isNaN(obj.offsetLeft)) {
    					curleft+=parseInt(obj.offsetLeft);
    				}
    				if(!isNaN(obj.offsetTop)) {
    					curtop += parseInt(obj.offsetTop);
    				}
    			}
    		}
    document.getElementById('LPortrait').style.top=curtop+'px';
    document.getElementById('LPortrait').style.left=curleft+'px';
    Je pige pas trop là, je suis plutôt habitué aux bizarrerie sous IE lol...

    Merci pour vos idées

    Simo'

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Salut aurais tu l'exemple complet ou en ligne ?
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 164
    Points : 67
    Points
    67
    Par défaut
    c'est pour le moment en local, il est pas disponible en ligne. Sinon, l'exemple est complet. Il manque juste le début de la fonction et l'accolade de fin.
    Cette fonction est appelée via un setInterval toutes les secondes pour parer le redimensionnement de la fenêtre.
    Je peux eventuellement mettre le code html complet de la page mais y a rien de spécial c'est ça le pire...

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    heu oui je veux bien car hors contexte , ce n'est pas très parlant
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 164
    Points : 67
    Points
    67
    Par défaut
    ok, voici un code épuré de tout ce qui sert à rien.
    Le problème est toujours présent.
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title></title>
    <style type="text/css">
    html, body {
    	margin: 0px;
    	padding: 0px;
    	height:100%;
    }
    body, td {
    	font-family: Verdana, Arial, Helvetica, sans-serif;
    	font-size: 11px;
    }
    .wrapper {
    	min-height: 100%;
    	height: auto !important;
    	height: 100%;
    	margin: 0 auto -10px;
    }
    .footer, .push {
    	height: 10px;
    	font:Verdana, Arial, Helvetica, sans-serif;
    	font-size:10px;
    	color:#999999;
    }
    #LPortrait1 {
    	position:absolute;
    	left:427px;
    	top:230px;
    	width:250px;
    	height:12px;
    	z-index:1;
    }
    </style>
    </head>
    <body>
    <div class="wrapper" style="height: 100%;">
    <div style="top: 496px; left: 439px;" id="LPortrait1"><a href="#" id="TPortrait1">Texte</a></div>
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr>
        <td>
    	&nbsp;
    	</td>
      </tr>
      <tr>
        <td>
    	<table align="center" border="0" cellpadding="0" cellspacing="0" width="1000">
      <tr>
        <td valign="top" width="600">
        <img src="" id="positionner" height="364" width="571"><br>
        <br></td>
    	<td align="center" valign="top" width="360">&nbsp;</td>
      </tr>
    </table>
    	</td>
      </tr>
    </table>
    <br>
    <div class="push"></div>
    </div>
    <div class="footer" align="center">Tous droits réservés</div>
    <script language="Javascript">
    		function placeLayerPortrait() {
    		obj=document.getElementById('positionner');
    		if (obj.parentNode) {
    			curleft = parseInt(obj.offsetLeft);
    			curtop = parseInt(obj.offsetTop);
    			while (obj = obj.parentNode) {
    				if(!isNaN(obj.offsetLeft)) {
    					curleft+=parseInt(obj.offsetLeft);
    				}
    				if(!isNaN(obj.offsetTop)) {
    					curtop += parseInt(obj.offsetTop);
    				}
    			}
    		}
    		document.getElementById('LPortrait1').style.top=(curtop+230)+'px';
    		document.getElementById('LPortrait1').style.left=(curleft+427)+'px';
    		}
    		setInterval('placeLayerPortrait()',10);
    </script>
    </body>
    </html>

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 164
    Points : 67
    Points
    67
    Par défaut
    le we m'a fait du bien lol...

    En fait sous firefox, le tr et tbody ont la même valeur que mon td pour le offsetleft et du coup mon td était compté "3 fois". Du coup, suffit de filtrer sur le type de balise pour ne pas les comptabiliser et voili voilou

    Simo'

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

Discussions similaires

  1. Affichage parasite sous Firefox
    Par Steph4fun dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 04/02/2005, 15h05
  2. problème avec une page web sous firefox!
    Par 3psilOn dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 24/11/2004, 11h49
  3. Invité de connexion "Adserver" sous FireFox
    Par KibitO dans le forum Administration
    Réponses: 10
    Dernier message: 13/11/2004, 14h19
  4. [HTML]Image qui ne s'affiche pas sous firefox...
    Par OrangeBud dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 13/10/2004, 13h42
  5. Java ne fonctionne pas sous Firefox
    Par Info-Rital dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 29/07/2004, 23h37

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