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 :

déplacement latéral et horizontal


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Points : 30
    Points
    30
    Par défaut déplacement latéral et horizontal
    Bonjour,

    Je voudrais me déplacer sur une page web sur les axes x et y avec la souris en tenant le clic gauche.
    Si je me déplace à gauche je vais à gauche, si je me déplace en bas, je vais en bas etc ...

    Je ne vois pas trop comment faire :S

    Pouvez vous m'aider ?
    Merci d'avance
    Un jour quelqu'un a dit :
    Je ne savais pas qu'il fallait faire correctement ...

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Citation Envoyé par sylvain230 Voir le message
    Bonjour,

    Je voudrais me déplacer sur une page web sur les axes x et y avec la souris en tenant le clic gauche.
    Si je me déplace à gauche je vais à gauche, si je me déplace en bas, je vais en bas etc ...
    eh bien voilà: tu as la réponse!

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

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Tu veux mettre en place un drag and drop sur des éléments de ta page ? ou autre chose ? Je comprends l'ironie de javatwister... on ne comprend pas ton problème, il faut faire un effort !

    (tu veux "te déplacer sur la page" ? tu fais partie de la page ???! )

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    merci Romain de civiliser quelque peu ma pensée

  5. #5
    Nouveau membre du Club Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Points : 30
    Points
    30
    Par défaut
    Ok bon je m'explique lol. J'avoue que le problème est un peu flou dans ma tête donc forcément, c'est pas facile à expliquer.

    J'ai une scène 3D dans le navigateur en utilisant WebGL et je voudrais me déplacer en 2D dedans de façon horizontale et verticale.

    Cette action se ferait de la manière suivante :

    Partout sur l'écran, je voudrais utiliser le clic gauche de la souris et me déplacer un peu comme un logiciel de rendu 3D.

    Alors oui cela ressemble à un drag and drop mais pas seulement cela. En effet, si je déplace la souris dans un axe de 45° avec comme direction un vecteur 2D (0.5, -0.5), je voudrais me déplacer dans la direction de ce vecteur.

    Voici mon code. Il ne fonctionne pas correctement :

    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
    35
    36
    37
    38
    39
    40
    41
    if(lastMouseX > 0 && lastMouseY > 0) {
     
                camera.position.x += lastMouseX/30;
                camera.target.position.x += lastMouseX/30;
     
                camera.position.y += lastMouseY/30;
                camera.target.position.y += lastMouseY/30;
     
            } else if(lastMouseX < 0 && lastMouseY < 0) {
     
                camera.position.x -= lastMouseX/30;
                camera.target.position.x -= lastMouseX/30;
     
                camera.position.y -= lastMouseY/30;
                camera.target.position.y -= lastMouseY/30;
     
            } else if(lastMouseX < 0 && lastMouseY < 0) {
     
                camera.position.x -= lastMouseX/30;
                camera.target.position.x -= lastMouseX/30;
     
                camera.position.y -= lastMouseY/30;
                camera.target.position.y -= lastMouseY/30;
     
            } else if(lastMouseX > 0 && lastMouseY < 0) {
     
                camera.position.x += lastMouseX/30;
                camera.target.position.x += lastMouseX/30;
     
                camera.position.y -= lastMouseY/30;
                camera.target.position.y -= lastMouseY/30;
     
            } else if(lastMouseX < 0 && lastMouseY > 0) {
     
                camera.position.x -= lastMouseX/30;
                camera.target.position.x -= lastMouseX/30;
     
                camera.position.y += lastMouseY/30;
                camera.target.position.y += lastMouseY/30;
     
            }

    Si je ne suis toujours pas assez clair, n'hésitez pas à me flageler lol !!
    Un jour quelqu'un a dit :
    Je ne savais pas qu'il fallait faire correctement ...

  6. #6
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    ça rappelle le merveilleux clipper de Bovino, non?

    http://www.developpez.net/forums/d10...e-google-maps/

  7. #7
    Nouveau membre du Club Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Points : 30
    Points
    30
    Par défaut
    Oui c'est un truc comme ca merci
    Un jour quelqu'un a dit :
    Je ne savais pas qu'il fallait faire correctement ...

  8. #8
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    en simplifiant, ça marche ça?

    http://javatwist.imingo.net/truc_un_peu_flou.htm
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>...</title>
    <style type="text/css">
    body {margin:0px}
    #cadre {width:200px;height:200px;position:absolute;top:200px;left:200px;border:2px solid black;overflow:hidden}
    #cadre img {width:2000px;position:absolute}
    </style>
     
    </head>
    <body>
     
    <div id="cadre">
    	<img src="http://www.developpez.net/template/images/logo.gif" alt="Dev" />
    </div>
     
    <script type="text/javascript">
     
    var im=document.images[0];
    im.style.left=im.style.top="0px";
     
    var evx, evy, posx, posy, capt;
     
    im.ondragstart=function(){return false}
    im.onmousedown=function(e){
    	capt=this;	
    	evx=!e ? event.clientX : e.clientX;
    	evy=!e ? event.clientY : e.clientY;
    	posx=evx-parseInt(this.style.left);
    	posy=evy-parseInt(this.style.top);
    }
     
    im.onmouseup=im.onmouseout=function(){
    	capt=false
    }
     
    document.onmousemove=function(e){
    	if(capt){
    		evx=!e ? event.clientX : e.clientX;
    		evy=!e ? event.clientY : e.clientY;
    		capt.style.left=evx-posx+"px";
    		capt.style.top=evy-posy+"px";
    	}
    }
     
    </script>
     
    </body>
    </html>

  9. #9
    Nouveau membre du Club Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Points : 30
    Points
    30
    Par défaut
    Attend je test tout ca et j'essaie de comprendre mais j'ai peut être une question bête.

    Que signifie cette ligne ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     evx!=event ? event.clientX: e.clientX;
    et quelle est la différence entre event et e ? :s
    Un jour quelqu'un a dit :
    Je ne savais pas qu'il fallait faire correctement ...

  10. #10
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    la même qu'entre IE et ffx ?
    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 !

  11. #11
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    attention, tu t'es planté en recopiant la ligne;

    bref, ça permet de savoir si le navigateur transmet automatiquement à la fonction l'événement déclencheur; si oui, on est sur Fox et compagnie, sinon, on précise explicitement qu'on recherche l'event courant et ça permet à IE de fonctionner;

    tu peux aussi faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ev = e || event;
    evx=ev.clientX;
    evy=ev.clientY;

  12. #12
    Nouveau membre du Club Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Points : 30
    Points
    30
    Par défaut
    a d'accord merci je ne connaissais pas cette différence.
    Je préfère privilégier les écritures moins lourdes pour l'instant. Peut être que je manque d'expérience.

    Le truc c'est que WebGL fonctionne uniquement sous Chrome et FF4.
    Un jour quelqu'un a dit :
    Je ne savais pas qu'il fallait faire correctement ...

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

Discussions similaires

  1. Action selon un déplacement de la souris sur l'axe horizontal ou vertical
    Par ClarusAD dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2015, 13h57
  2. déplacement latéral (TAB) DbGrid
    Par sic_88 dans le forum Débuter
    Réponses: 7
    Dernier message: 14/03/2013, 11h26
  3. Réponses: 21
    Dernier message: 01/03/2009, 23h41
  4. déplacement horizontal de la souris
    Par zandru dans le forum Périphériques
    Réponses: 6
    Dernier message: 18/11/2008, 10h02
  5. [Listbox] ScrollBar Horizontal
    Par haleem dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/04/2005, 07h53

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