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 :

DOCTYPE et document.body.scrollTop....


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 89
    Points
    89
    Par défaut DOCTYPE et document.body.scrollTop....
    Dans la série, plus tu creuses moins tu trouves !

    Mes questions précédentes ayant semble-il un peu énervé, je reviens humblement vers vous après avoir fouillé un peu partout et préparé un exemple complet.

    génèse : Après m'etre aperçu que ce que j'avais ecrit (HTML+CSS+Javascript), fonctionnant parfaitement sous IE et Firefox, affichait le code de la page au lieu de celle-ci chez un ami equipé d'un Apple. J'avais repris la pioche pour valider mon code (http://validator.w3.org/). J'ai donc obtenu des pages validées mais qui ne fonctionnait plus à cause notamment d'affectation de valeur sans unité (...top=100 au lieu de de ... top=100+"px" ) MEA CULPA et merci pour votre aide.

    Mon NOUVEAU problème :

    d'abord un exemple :
    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
    <!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" >
      <meta http-equiv="Content-script-type" content="text/javascript" >
      <meta http-equiv="Content-style-type" content="text/css" >
      <meta http-equiv="Content-language" content="fr" >
     
      <title>essai page</title>
     
    <script type="text/javascript">
    var pfcie4 = (document.all)? true:false;
    // affiche la position
    function pos() {
      if(pfcie4) { document.write(document.body.scrollTop); } else { document.write(window.pageYOffset); }
    }
     
    </script>
     
    </head>
    <body>
      texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>
      texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>
      texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>
      texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>
      texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>
      texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>
      texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>
      texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>
      texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>texte<br>
      <a href="#" onClick="pos()">clic</a>
    </body>
    </html>
    Evidemment c'est pas ce que l'on fait de plus utile comme page. Mais le probleme est le suivant :
    - si on laisse la ligne Doctype IE affiche 0 pour la valeur document.body.scrollTop
    -si on enleve le Doctype il donne la bonne valeur.
    Firefox lui donne bien la valeur dans les 2 cas.

    L'application réelle : Je surveille la valeur du scroll et déclenche une routine Javascript lorsque celle-ci change. comme la valeur de scroll n'est pas retournée avec IE... j'avance pas d'un iota.

    Pour re-préciser ma démarche et eviter les tirs à vue :
    - Je dois evidemment faire une grosse erreur (pour pas dire plus), ne m'incendiez pas !
    - Je ne cherche pas à faire une usine à gaz... (je ne fais pas de blocage de clic droit, je ne force pas l'ouverture d'un lien dans une autre page, je ne suis pas le roi des popup...).
    - Les pages fonctionnent même sans Javascript ou sans CSS activé...

    mon raisonnement : si mes pages sont valides, elles ont plus de chance de s'afficher correctement sur un max de navigateur.

    pour finir qu'est-ce que je fais de travers pour que "document.body.scrollTop" ne retourne pas la bonne valeur.

    Pascal (futur ancien débutant)

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    http://www.w3.org/TR/html4/index/attributes.html
    ...
    ton attribut n'est pas reconnu par le doctype défini

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 89
    Points
    89
    Par défaut
    Merci, je vais voir ton lien

    pascal

  4. #4
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 89
    Points
    89
    Par défaut
    bon bah je rame...

    j'ai modifié comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="index.htm" onclick="alert(document.body.scrollTop)">clic</a>
    j'ai bien droit au attributs href et onclick mais ça ne change rien.

    je pédale dans la semoule. d'autant que firefox lui, fonctionne a tous les coups.

    IE me renvoie systématiquement 0

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 89
    Points
    89
    Par défaut
    pas la moindre piste ?

    j'ai fait plein de test, et document.body.scrollTop me renvoie toujours 0

    a t'on le droit d'utiliser document.body.scrollTop avec ce DOCTYPE ?

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 89
    Points
    89
    Par défaut
    Essaie de remplacer document.body.scrollTop par document.documentElement.scrollTop...

    Quel pied ça marche.. tiens j'vais même mettre un smile

    Je vais de ce pas marquer ce post comme résolu et modifier le titre du Post

    a+

    Pascal

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

Discussions similaires

  1. Valeur de la position de l'ascenceur et document.body.scrollTop
    Par marcandre dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/03/2010, 10h29
  2. document.body.scrollTop est-ce toujours d'actualité ?
    Par xess91 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/01/2010, 18h02
  3. document.body.clientHeight ne fonctionne pas sous IE
    Par TheRedLed dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/02/2007, 15h39
  4. [IE] Problème avec document.body.setAttribute
    Par stailer dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/05/2006, 16h07
  5. document.body.style.cursor ?
    Par Yaz dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/03/2006, 17h41

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