incrémentation de valeur avec mootools

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : incrémentation de valeur avec mootools

Re: incrémentation de valeur avec mootools

par Genova » 18 juil. 2010, 20:28

En gros pour que ça marche :

Code : Tout sélectionner

var slider = $('monElement'); var position = slider.getStyle('left').toInt(); for (var i =0; i < 10; i++) { slider.setStyle('left', position + i ); }

Re: incrémentation de valeur avec mootools

par Invité » 18 juil. 2010, 16:59

merci pour ta réponse. J'entrevois le concept mais j'ai le cerveau qui fait pschiit, j'arrive pas à concrétiser ça

Re: incrémentation de valeur avec mootools

par Genova » 18 juil. 2010, 15:23

C'est logique, tu additionnes deux variables qui s'incrémentent en permanence, le résultat est donc de plus en plus grand. Tours par tour tu as ça :

Code : Tout sélectionner

1: test = 0 ; i = 0 ; test + i = 0 2: test = 0 ; i = 1 ; test + i = 1 3: test = 1 ; i = 2 ; test + i = 3 4: test = 3 ; i = 3 ; test + i = 6
Ta variable test prends à chaque fois la valeur de test + i du tour précédent, ce qui explique le soucis. Pour que ton code marche, tu dois garder la position initiale de ton élément, et le faire avancer de i sans toucher à cette position initiale au fil des tours.

incrémentation de valeur avec mootools

par Invité » 18 juil. 2010, 14:14

Bonjour à tous,

J'ai une boucle comme ceci pour afficher la valeur de une propriété css d'un élément.
Mon élément a le style suivant:

#monElement {
position: absolute;
top: 0px;
left: 0px;
}

Ensuite j'utilise une boucle en js mootools pour incrémenter la valeur de "left":

		for (var i =0; i < 10; i++)
		{
			
			var slider = $('monElement');
			var test = slider.getStyle('left').toInt();
			slider.setStyle('left', test + i );

		}

Le comportement n'est pas celui attendu.
Si je fais alert(i), i varie bien de 0 à 9, c'est bon
Si je fais alert(test + i), j'ai : 0 - 1 - 3 - 6 - 10 - 15 - 21 - 28 - 36 - 45

Pourquoi la valeur de propriété left (test + i) n'augmente pas simplement de 0 à 9 également?
Merci pour vos réponses