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 :

avoir les cordonnées du milieu de la page


Sujet :

JavaScript

  1. #1
    Membre confirmé Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Par défaut avoir les cordonnées du milieu de la page
    Bonjour

    Voila ,j'essaye de trouver la position (x, y) du milieu de l'ecran, sachant que l'utilisateur a un grand tableau html et sur chaque ligne il a la possibilité d'ouvrir une petite fenétre (mai il faux que sa soit au milieu de sa page), donc s'il a scrollé jusqu'a la fin du tableau la fenétre doit s'ouvrir au milieu de sa page et donc en fonction de sa position

    Est ce que quelqu'un aurai un fil à me donner?

    Merci d'avance pour l'aide

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    tu parles de "page", d' "écran", de "fenêtre"

    Il s'agit de 3 notions différentes.

    Il faut donc d'abord nous dire de laquelle tu souhaites calculer le "milieu" ...

    A+

  3. #3
    Membre confirmé Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Par défaut
    ouuupsss

    En faite , j'ai une page WEB qui affiche un tableau contenant des clients, et sur chaque ligne j'ai un bouton "afficher appréciation client" ,

    en cliquant sur ce bouton je fais apparaitre une DIV contenant un textarea avec les appréciations sur le client avec la possibilité de mise à jour.

    au départ la DIV été cachée , et donc quand je clic sur le bouton "afficher appréciation client" je la fais apparaitre mais le probléme c que c'est toujours à la même position , si je veux afficher l'appréciation du client N° 100 qui se trouve tout en bas du tableau la div sera affiché en haut donc on remonte en haut de l'écran et je pers la position du client

    le cas idéal c de l'afficher en fonction de la position du bouton

    Voila j'espère que c plus claire

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Faut positionner le div en tenant compte de la hauteur de la fenetre, la hauteur du div et le scrollTop de la page ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre confirmé Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Par défaut
    Comment avoir toutes ces infos?

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    en regardant dans la FAQ ou dans les contributions
    ou en recherchant avec de mots comme offsetHeight offsetTop scrollTop browser sniffer ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par bylka Voir le message
    en cliquant sur ce bouton je fais apparaitre une DIV contenant un textarea avec les appréciations sur le client avec la possibilité de mise à jour.
    Même si c'est hors-sujet : tu sais que tu es obligé de déclarer le stockage de ce genre d'information à la CNIL ?
    Que les utilisateurs n'auront pas le droit d'y saisir n'importe quoi ?
    Et que tu n'as pas le droit de conserver ces commentaires aussi longtemps que tu veux ?

    A+

  8. #8
    Membre confirmé Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Par défaut
    En faite c pas un truc officiel , c un exercice que je suis entrain de faire chez moi

    T'inkiét je respecte la vie privée des gens

  9. #9
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par bylka Voir le message
    En faite c pas un truc officiel , c un exercice que je suis entrain de faire chez moi
    Et tu gères et "apprécie" des clients ?

    La CNIL est (censée être) particulièrement vigilante sur tout ce qui concerne la notion d' "appréciations sur le client".

    Ceci dit, que ça soit dans ton garage ou dans une entreprise, la loi est la même.

    Bon, moi ce que j'en dis ....

    A+

  10. #10
    Membre confirmé Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Par défaut
    Merci pour le fil SpaceFrog

    Si j'ai bien compris je dois jouer sur ces deux params du div: margin-top: et
    margin-left:
    le document.body.scrollTop me donne effectivement la position du scroll , mais c'est en JS? alors comment fixer le margin-top a cette valeur?

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    c'est pas le margin top qu'il faut fixer mais le style top de la div en positon absolute ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Membre confirmé Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Par défaut
    Ok
    Mais comment affecter une valeur JS (document.body.scrollTop ) à une propriété de la css (style= "top : ....")

    Merci

  13. #13
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par bylka Voir le message
    Mais comment affecter une valeur JS (document.body.scrollTop ) à une propriété de la css (style= "top : ....")
    JS donne accès aux propriétés CSS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('id_element').style.top = document.body.scrollTop + "px";

    A+

  14. #14
    Membre confirmé Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Par défaut
    Merci E.Bzz pour ta réponse , je vais regarder de ce coté la

  15. #15
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Tu auras besoin du traducteur

    A+

  16. #16
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    il y a deux exceptions à cette méthode de traductions:
    float devient cssFloat

    et l'autre ... j'ai oublié ...

    [edit]

    pour les propriétés avec deux tirets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    border-left-width  => borderLeftWidth
    et pour les textDecoration:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    text-decoration: underline =>textDecorationUnderline
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  17. #17
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Je me permet d'intervenir sur ce fil de discussion pour poser une question.

    Ayant découvert très récemment la création dynamique d'objets DOM.
    Je me demande si dans ce cas, cette solution ne serait pas bien mieux adaptée que la recherche de la position du pointeur ?

  18. #18
    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 un petit + ?
    Pour tous ces problèmes de dimensions dans la page, même si je ne suis pas un fan du MSDN, il y a cette page qui donne des repères :
    (MSDN) Positions et mesures dans un document HTML

  19. #19
    Membre confirmé Avatar de bylka
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Par défaut
    Merci pour toutes les réponses

    Après de multiples recherches , je me permets de poser la question suivante:

    comment déterminer les valeurs (X,Y)? afin de mettre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    mon-div.style.top = x + "px"; 
    mon-div.style.left = y + "px";
    j'essaye des trucs de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    x = document.body.scrollTop + document.documentElement.scrollTop + document.body.clientHeight/2;
    Mais sans succès

    Merci par avance pour vos réponses

    A+

  20. #20
    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
    Une petite fonction javascript pour calculer les coordonnées absolues d'un élément, en additionnant les coordonnées relatives ( offsetTop et offsetLeft ) de l'élément, puis de son parent, puis du grand-parent, etc. jusqu'au body lui-même :

    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
     
    function calculerPosition(elementId)
    {
    	var tabPosition = new Array();
    	var feuille = document.getElementById(elementId);
    	tabPosition[0] = feuille.offsetLeft;
    	tabPosition[1] = feuille.offsetTop;
     
    	while(feuille.offsetParent)
    	{
    		feuille = feuille.offsetParent; // récursivité
    		tabPosition[0] += feuille.offsetLeft;
    		tabPosition[1] += feuille.offsetTop;
    	}
    	return tabPosition;
    }
    Je ne suis pas un expert de la discipline, mais j'ai écrit ça pour mes propres besoins il y a quelques jours et ça fonctionne très bien ^^

    Ca s'utilise de la manière suivante :
    PARAMETRE entrant (elementId) : l'ID ( donc une string ) de ton élément
    RETOUR de la fonction : un tableau à deux postes, contenant les coordonnées X et Y à attribuer à ton élément.

    Exemple d'appel à partir de ton exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var positionRelative = calculerPosition('mon-div')
    mon-div.style.left = positionRelative[0] + "px";
    mon-div.style.top = positionRelative[1] + "px";
    Si des plus costauds que moi trouvent que ça pose des problèmes ou que ce n'est pas optimisé ou quoi que ce soit d'autre.... je suis intéressé par vos remarques n'hésitez pas ( mais pas trop fort sur la tête svp )

    ( edit : ca fonctionne sous IE6 et FF3 mais je n'ai pas testé sur d'autres navigateurs donc éventuellement attention )

Discussions similaires

  1. [WD-2007] ne pas avoir les pages l'une à coté de l'autre
    Par insertion85 dans le forum Word
    Réponses: 1
    Dernier message: 01/12/2012, 22h05
  2. Avoir les "QueryDefs" d'une autre base
    Par Invité dans le forum Access
    Réponses: 1
    Dernier message: 14/09/2005, 10h57
  3. avoir les log d'erreur mysql
    Par simoryl dans le forum Administration
    Réponses: 4
    Dernier message: 06/09/2005, 14h24
  4. [Scripts] Comment avoir les boutons style XP
    Par Didier69 dans le forum Général Dotnet
    Réponses: 26
    Dernier message: 18/05/2005, 15h28

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