2012-05-01 2 views
0

Je crée un curseur jQuery basique pour la classe. et je voudrais l'avoir en lecture automatique en jouant la diapositive suivante après 5 secondes, mais n'ont pas utilisé la minuterie avant de ne pas faire ce que je pensais qu'il devrait faire. Il attend l'intervalle approprié et continue de déclencher la fonction de rappel.ajouter la lecture automatique au curseur jquery de base

//basic slider on click 
$('.slider>ul>li').click(function() 
{ 
    $('.slider>ul>li').removeClass('current'); 
    $(this).toggleClass('current'); 
    right=$(this).index()*745; 
    $(this).parent('ul').parent('.slider').children('div').children('ul').animate({'right': right}, 1000, 'easeOutBack'); 
}) 

//attempt to use timer plugin to auto play 
$('.slider>ul>li').timer(
{ 
     delay: 1000, 
     callback: function() 
     {alert($('.slider>ul>li.current').index()) 
      if($('.slider>ul>li.current').index()!=3) 
      { 
       $('.slider>ul>li.current').next('li').click(); 
      }else//oddly this doesn't trigger at all 
      { 
       $('.slider>ul').first().click(); 
      } 
     } 
}) 
+0

Quel numéro votre alerte affiche-t-elle? – Marc

+0

0, 1, 2, 3 dans l'ordre – Yamiko

+0

http://ocd.classelliott.com/# est le site hideux que je suis en train de mettre en œuvre pour la classe. – Yamiko

Répondre

0

Essayez ceci:

setInterval(function(){ 
    var i = $('.slider>ul>li.current').index(); 
    var next = (i < 3 ? i+1 : 0); 
    var items = $('.slider>ul>li'); 
    $(items[next]).click(); 
}, 5000); 

EDIT: setTimeout changé à setInterval et le temps de 5sec endommager; cela devrait maintenant faire une boucle.

Questions connexes