Problème carrousel

Problème carrousel - HTML/CSS - Programmation

Marsh Posté le 20-10-2012 à 19:44:01    

Hello tout le monde
 
j'ai un problème avec un code que j'avais fais, il fonctionne bien mais pas indéfiniment, à un moment donné le déplacement ne se fait plus car il ne redécale plus comme il faut , voici le code :
 

Code :
  1. <script type="text/javascript">
  2.   var IMAGE_NUMBER = 13;
  3.   var IMAGE_WIDTH = 160;
  4.   var IMAGE_HEIGHT = 58;
  5.   var DECALAGE_DROITE =  960;         //width of content partner_reel
  6.   var CAROUSEL_SPEED = 10000;
  7.   var position = IMAGE_NUMBER;
  8.   $(document).ready( function() {
  9.    // Positionnement des images
  10.    for ( var i = 1 ; i <= IMAGE_NUMBER ; i++ ) {
  11.     $( '.partners_image_' + i ).css('left', ( ( i - 1 ) * IMAGE_WIDTH) + 'px');
  12.     $( '.partners_image_' + i ).css('bottom', ( ( i - 1 ) * IMAGE_HEIGHT ) + 'px');
  13.    }
  14.    // Deplacement
  15.    deplacement();
  16.   });
  17.   // Fonction de deplacement du carousel
  18.   function deplacement() {
  19.    $( '.partners_image_' + position ).css('left', ( ( IMAGE_NUMBER - 1 ) * IMAGE_WIDTH) + 'px');
  20.    for ( var i = 1 ; i <= IMAGE_NUMBER ; i++ ) {
  21.     $( '.partners_image_' + i ).animate( { left : '-=' + ( IMAGE_WIDTH ) }, CAROUSEL_SPEED, 'linear' );
  22.    }
  23.    position++;
  24.    position %= IMAGE_NUMBER;
  25.    setTimeout('deplacement()', CAROUSEL_SPEED + 25);
  26.   }
  27.  </script>


 
Je pense le problème vient du fait que le déplacement se fait en float, comme forcé pour qu'il déplace à l'aide d'entier uniquement ?
 
Arrivé à la position left -160px l'élément se repositionne en fin de liste et la boucle devrait être perpetuelle, malheureusement à un moment donné (aléatoire) parfois il continue à se positionner négativement et donc la boucle se "casse"
 
je suspecte que le problème vient du fait de l'utilisation de nombre flottante (arrivé à -159.99999 px il pète un cable par exemple), savez-vous comment forcer pour qu'il prenne des entiers ?
 
Merci


---------------
Mon topic Tiësto
Reply

Marsh Posté le 20-10-2012 à 19:44:01   

Reply

Marsh Posté le 21-10-2012 à 15:24:17    

quelqu'un aurait une idée :) ?


---------------
Mon topic Tiësto
Reply

Marsh Posté le 22-10-2012 à 16:19:27    

Math.round()


---------------
Plop !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed