11496 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'utilise jquery cycle pour faire afficher mes 10 images. J'aimerais ajouter une pause de 5 sec avant que le tout recommence.

Voici le code que j'utilise mais le 5 sec fonctionne pas.

$(document).ready(function() {
 $('.slideshow1').cycle({ 
  fx:     'none', 
  timeoutFn: function(currSlideElement, nextSlideElement, options, forwardFlag){
      if (currSlideElement > 0 && nextSlideElement === 0){
          return 5000; // ici la pause de 5 sec
      }

      return 100;
  }
  });
 }); 


Voici l'autre test que j'ai essayé mais sans succès.

$(document).ready(function() {
setTimeout(function()
 {
  $('.slideshow1').cycle({ 
  fx:     'none', 
  timeout: 100
  }, 5000);
 });
});   

Modifié par britanicus75 (31 May 2013 - 19:15)
Voici la réponse :
Il suffit de connaître la position du dernier élément.

$(document).ready(function() {
	 	$('.slideshow1').cycle({ 
	  	fx: 'none', 
	  	timeout: 100,
	  	timeoutFn : calculateTimeout
	  	});
 	}); 

    function calculateTimeout(currElement, nextElement, opts, isForward) { 
    var index = opts.currSlide;
    //console.log(index);
    if  (index==8){ // la position de ma dernière image.
    return 5000; 
    } return false;
}