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 :

Calculer nombre pixel de deplacement de la scrollbar


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut Calculer nombre pixel de deplacement de la scrollbar
    Bonjour,

    Je voudrais savoir comment faire pour calculer la valeur en pixel scrollé avec la barre de defilement verticale...

    En fait je recupere event.clientY (la position y de la souris), mais ca retourne la position de la souris par rapport à la fenetre du navigateur, et non par rapport au haut de la page...

    Donc je voudrais la hauteur de a souris en y ajoutant la hauteur du defilement de la page pour avoir la position de la souris par rapport au haut de la page, et non au haut du navigateur...

  2. #2
    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
    Une piste dans la FAQ
    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

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut
    Merci!

    Ca marche niquel dans Firefox, mais pas sous IE...

    J'ai testé avec IE7 le script d'exemple qui illustre l'article de la faq, et c'est la même valeur pour la position Y qu'on ait scrollé la page ou non...

    Uni idée pou adapter ce code à IE?
    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
     
    var obj_img = $("img_fond");
    var objPos = obj_img.cumulativeOffset();
    var objDim = obj_img.getDimensions();
    var max_souris_x=parseInt(objPos.left+objDim.width);
    var max_souris_y=parseInt(objPos.top+objDim.height);
    if(e)
    {
      var posXsouris=e.pageX;
      var posYsouris=e.pageY;
    }
    else
    {
      var posXsouris=window.event.x;
      var posYsouris=window.event.y;
    }
     
    if((posXsouris>max_souris_x-2)||(posYsouris>max_souris_y-2))
    {
    	alert("x="+posXsouris+" y="+posYsouris);
    	fin(e);
    }
    L'erreur renvoyée par la debugbar est: "argument non valide"...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut
    En fait l'erreur renvoyé par la debug bar correspond à autre chose...

    Mais ca ne marche toujours pas sous IE...

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut
    En fait j'ai l'impression que sous IE windows.event.x ne retourne pas la position de la souris par rapport au bord de la page, mais par rapport au div conteneur de mon site...

    Une idée?

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut
    J'ai quasiment réussi, mais j'ai l'impression que mon calcul diverge selon le scrollTop...


    Voici mon code pour IE:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var posXsouris=e.clientX;
    var posYsouris=window.event.y;
    posXsouris=parseInt(posXsouris+document.body.scrollLeft);
    posYsouris=parseInt(posYsouris+document.body.scrollTop);
    max_souris_y=max_souris_y-5;
     
    if((posXsouris>max_souris_x-2)||(posYsouris>max_souris_y-2))
    {
    	fin(e);
    }
    En fait si je descend d'un cran la barre de defilement verticale, mon execption se fait au bon endroit...

    Et si je descend par exemple de deux cran de plus la barre de defilement verticale, mon exception n'est pas prise en compte au même endroit dans ma page...

    Comment je pourrais corriger ca?

Discussions similaires

  1. calcul nombre de jours entre deux dates
    Par charlene44 dans le forum Langage
    Réponses: 7
    Dernier message: 21/08/2012, 14h06
  2. calcul du déplacement de la zone client : Scrollbar
    Par kanea_iza dans le forum Windows
    Réponses: 1
    Dernier message: 16/05/2007, 15h57
  3. Calcul Nombre De Jour Entre 2 Dates infopath2007
    Par syntony dans le forum InfoPath
    Réponses: 11
    Dernier message: 01/05/2007, 15h33
  4. calculer nombre heure entre 2 dates
    Par liquid dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 20/03/2007, 19h48
  5. excel, graphique, calcul nombre de dates
    Par debdev dans le forum Excel
    Réponses: 8
    Dernier message: 03/05/2006, 17h35

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