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 :

[DOM] offsetTop sous IE7 marche ou marche pas ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 178
    Par défaut [DOM] offsetTop sous IE7 marche ou marche pas ?
    Bonjour,

    Je voudrais savoir s'il n'y a pas un problème de compatibilité entre IE et offsetTop car quand je teste le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function mafonction(id){
    if(document.getElementById){
    hover = document.getElementById(""+id+"");
    }else{
    hover = document.all[""+id+""];
    }
     
    var position = hover.offsetTop;
    alert('mon id = '+id+'');
    alert('ma position = '+position+'');
     
    }
    J'obtiens le résultat suivant pour id = 1 par exemple:

    FF => mon id = 1 puis ma position = 20 (ma div étant placé à 20px de hauteur)

    IE => mon id = 1 mais pour position j'ai tout le temps 0 ???

    Quelqu'un a t-il déjà eu le même soucies ou c'est un problème d'interprétation d'IE ?

    merci

  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
    Par défaut
    le code html total ?
    mais je pense que tu as une erreur sur la récupération de ton objet
    essaye avec document.getElementById() également sous IE

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 178
    Par défaut
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Scroller</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" >
    function changeclass(id){
    	alert('id'+id+'')
    		if(document.getElementById){
    			box = document.getElementById(""+id+"");
    		}else{
    			box = document.all[""+id+""];
    		}
     
    		var boxposition = box.offsetTop;
     
     
    		alert('boxposition'+boxposition+'')
    }
    </script> 
    </head>
     
    <body>
    <div id="contenu">
    <ul>
    <li><a  href="#"   id="1" name="itembox" class="itembox" onclick="changeclass(1)"><span class="itemlink">Item 1</span></a></li>
    <li><a  href="#"   id="2" name="itembox" class="itembox" onclick="changeclass(2)"><span class="itemlink">Item 2</span></a></li>
    </ul>
    </div>
    </body>
    </html>
    Marche sous FF sous IE boxposition = 0 chaque fois ???

  4. #4
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    As-tu envisagé que la position haute de ta div soit peut-être réellement égale à 0 ? ^^

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 178
    Par défaut
    Citation Envoyé par RomainVALERI Voir le message
    As-tu envisagé que la position haute de ta div soit peut-être réellement égale à 0 ? ^^
    Non parce que j'ai bien mes deux liens

    Lien 1
    Lien 2

    Sous FF Lien 1 position = 0
    Sous FF Lien 2 position = 41


    Sous IE lien 1 position = 0
    Sous IE lien 2 position = aussi 0 px ce qui n'est pas normal

  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
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function changeclass(un_id){
    	alert('id : '+un_id);
    	var box = document.getElementById(un_id);
    	var boxposition = box.offsetTop;
    	while(box.offsetParent){
    		box = box.offsetParent;
    		boxposition += box.offsetTop;
    	}
    	alert('boxposition : '+boxposition);
    }
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. [DOM] textLength sous ie7
    Par Dark Ryus dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 03/07/2008, 10h40
  2. position d'un DIV flottant : OK sous IE7 et FF mais pas sous IE6
    Par arnaud_verlaine dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 13/12/2007, 14h34
  3. opacity marche sous IE7 et firefox, mais pas sous IE6
    Par maxfive7 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 06/08/2007, 15h03
  4. offsetTop sous IE7
    Par Oluha dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 08/02/2007, 12h21
  5. Menu déroulant sous IE7 ne marche pas
    Par Jo dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 07/02/2007, 16h54

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