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 :

Positon absolue de la fenetre...


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 36
    Par défaut Positon absolue de la fenetre...
    Bonjour,
    Je souhaiterai savoir comment récupérer la position d'une popup (depuis le bord droit de l'ecran)

    En faite mon but exact est d'ouvrire une popup[2] depuis une popup[1] à l'endoit exact du bouton sur lequel on clique pour l'ouvrir.


    LE PROBLEME :

    j'arrive à récupérer la position de la souris et la position du bouton par rapport au point 0,0 de la popup[1], mais pas la position 0,0 depuis le bord de l'écran...

    Vous comprenez ?

    merci pour votre aide...
    ++

    PS : j'utilise IE

  2. #2
    Membre confirmé Avatar de Capt. Flame
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 222
    Par défaut
    Salut,
    Tu peux récupérer la position de ta fenêtre avec window.screenLeft et window.screenTop.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 36
    Par défaut A l'aise
    J'y crois pas j'ai cherché partout sur le net et j'ai rien trouvé...

    Merci capitaine...


  4. #4
    Membre confirmé Avatar de Capt. Flame
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2005
    Messages : 222
    Par défaut
    Tien, je m'étais fait deux petites fonctions qui retourne la position absolue d'un objet:
    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
    function getObjLeft(obj) {
        oLeft = obj.offsetLeft
        while(obj.offsetParent!=null) {
            oParent = obj.offsetParent
            oLeft += oParent.offsetLeft
            obj = oParent
        }
        return oLeft
    }
    function getObjTop(obj) {
        objTop = obj.offsetTop
        while(obj.offsetParent!=null) {
            objParent = obj.offsetParent
            objTop += objParent.offsetTop
            obj = objParent
        }
        return objTop
    }
    Maintenant, tu peux l'applique pour ce que tu veux faire comme ça:
    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
    <html>
        <head>
            <script>
                function openPupUp(){
                    var top = getObjTop(event.srcElement) + window.screenTop;
                    var left = getObjLeft(event.srcElement) + window.screenLeft;
     
                    window.open('about:blank','','top=' + top + ',left=' + left + ',height=100,width=100');
                }
     
                function getObjLeft(obj) {
                    oLeft = obj.offsetLeft
                    while(obj.offsetParent!=null) {
                        oParent = obj.offsetParent
                        oLeft += oParent.offsetLeft
                        obj = oParent
                    }
                    return oLeft
                }
                function getObjTop(obj) {
                    objTop = obj.offsetTop
                    while(obj.offsetParent!=null) {
                        objParent = obj.offsetParent
                        objTop += objParent.offsetTop
                        obj = objParent
                    }
                    return objTop
                }
            </script>
        </head>
        <body>
            <input type="button" onclick="openPupUp()" value="Ouvrir...">
        </body>
    <html>
    Bonne chance

  5. #5
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut Ton script sous firefox
    Bonjour Cap. Flame,

    Je réveil ce post, intéressé par ton script, mais à l'exécution,il me dit "event is not defined" dans la console Javascript.

    Je suis sous firefox

    J'ai vu que la syntaxe pouvait être éventuellement différente, mais cela ne fonctionne pas.

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

Discussions similaires

  1. Développement jeux vidéo : quelles bases à avoir absolument ?
    Par Ezechiel dans le forum Développement 2D, 3D et Jeux
    Réponses: 175
    Dernier message: 20/02/2018, 16h14
  2. [VB6] [Système] Récupérer le contenu d'une fenêtre DOS
    Par Nounours666 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 18/11/2004, 16h38
  3. Cacher fenetre
    Par Captain Fizzou dans le forum GLUT
    Réponses: 2
    Dernier message: 25/08/2002, 17h22
  4. Réponses: 3
    Dernier message: 22/07/2002, 14h19
  5. gérer les jpg dans une fenetre directdraw???
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 14/06/2002, 13h39

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