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 :

Mise a jour de la position d'une div apres mouvement


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2017
    Messages : 19
    Points : 19
    Points
    19
    Par défaut Mise a jour de la position d'une div apres mouvement
    Bonjour,

    J'ai un petit soucis dans l'animation de mes colonnes.
    Je me suis fais la function ci dessous (je la lance toute les 20 sec), mais seul le premier deplacement fonctionne.
    Ensuite les colonnes reviennent en position d'origine. Il faudrait qu'une fois le deplacement fini je mette a jour la position de la div.
    En gros je veux faire: col1 | col2 | col3 => col2 | col3 | col1 => col3 | col1 | col2 ainsi de suite.

    Merci pour vos astuces.

    Code php

    Code PHP : 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
     function myMove() {
        		var elem = document.getElementById("col1"); // selection des divs
    	    	var elem1 = document.getElementById("col2");
    	    	var elem2 = document.getElementById("col3");
    	    	var speed1 = 0; //initialisation des variables de deplacement
    	    	var speed2 = 0;
    	    	var id = setInterval(frame,2);
    	    	function frame(){
    	    		if (speed1==(-916)) { //Si on atteind la position souhaite
    	    			clearInterval(id);
        				elem1.setAttribute('id', 'col1'); // on change l'id de la div de facon a ce que le prochain movement soit le bon
        				elem2.setAttribute('id', 'col2');
        				elem.setAttribute('id', 'col3');
    	    		} else  {
    	    			speed1 = speed1 -2; //decrement pour que les colonnes 2 et 3 partent vers la gauche
    	    			speed2 = speed2 +4; //increment pour que la colonne 1 partent tout a droite
    	    			elem1.style.left = speed1 + 'px';
    	    			elem2.style.left = speed1 + 'px';
    	    			elem.style.left = speed2 + 'px';
    				}
    	    	}
            }

    code html du genre

    Code HTML : 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
    <div class="container">
     
      <div class="row">
     
        <div id="col1" class="col-md-4 machine_type_column">
          bloc 1
        </div>
     
        <div id="col2" class="col-md-4 machine_type_column">
          bloc 2
        </div>
     
        <div id="col3" class="col-md-4 machine_type_column">
          bloc 3
        </div>
     
      </div>
     
    </div>

    Code css

    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    body {
      background-color: grey;
      width: 150%;
    }
    .machine_type_column {
      padding: 5px 10px;
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    sans les codes HTML / CSS associés, on ne peut pas tester.
    sans commentaires dans ton code, non plus.


    N.B. Pour info, là, tu es dans le forum CSS....

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2017
    Messages : 19
    Points : 19
    Points
    19
    Par défaut
    J'ai des soucis pour répondre avec le pc du taff, j'ai modifié mon premier message pour mettre mon code HTML et CSS.

    Si je n'ai pas bien exprimé mon soucis, c'est que je veux sauvegarder la position de ma div après avoir fais mon premier déplacement de façon à ce que le suivant deplacement soit bon.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    ta démarche me paraît bien compliquée (échange d'ID entre autres)

    Pour tous tes éléments
    - Lecture position actuelle élément
    - position suivante égale position actuelle plus distance
    - Déplacement jusqu'à position suivante
    ... et on peut recommencer.

    enfin peut être pas tous compris

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Si tu ne veux pas t'embêter à coder ça, il existe des sliders (jQuery ou autres) qui font très bien le job, et bien plus :



    N.B. Ca peut se faire aussi en pur CSS (mais ça devient plus fastidieux si on change le nombre de slides).

  6. #6
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2017
    Messages : 19
    Points : 19
    Points
    19
    Par défaut
    J'ai finalement trouver la solution en passant la definition des column dans le css en position absolute.
    Suffisait ensuite de determiner les positions quand on a aucun movement.
    Merci quand meme pour vos commentaires.

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

Discussions similaires

  1. Attribuer un "position fixed" à une div après un certain niveau de scrolling
    Par identifiant_bidon dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 17/02/2014, 14h58
  2. [Lazarus] Position d'une fiche après mouvement à la souris
    Par Invité dans le forum Lazarus
    Réponses: 1
    Dernier message: 17/03/2012, 12h33
  3. Mise a jour de controle utilisateur dans une forme
    Par pascalwick dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/12/2008, 15h53
  4. Fréquence de mise à jour de la position d'une voiture sur un circuit
    Par djfrancky dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 22/08/2007, 02h20
  5. Mise a jour d'un index sur une table de 22 colonnes
    Par loupin dans le forum Oracle
    Réponses: 4
    Dernier message: 09/08/2007, 07h26

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