2012-07-11 88 views
0

我正在尝试创建一个简单的循环,它将循环并停止并启动。如何创建基本的jquery循环?

我打过电话本身像这样

var theloop = (function(){ 

      var theloop = (function(){ 

      $('#goldspot-2012 ul#goldspot-2012-list li').eq(currentItem).removeClass('current').fadeOut(500); 
      $('#goldspot-2012 ul#goldspot-2012-list li').eq(currentItem+1).addClass('current').fadeIn(500); 
      $('#gs-controls ul li').eq(currentItem).removeClass('current');    
      $('#gs-controls ul li').eq(currentItem+1).addClass('current');   

      if (currentItem == items -1){ 
       currentItem = 0; 
       theloop(); 
      } 

      else { 
       currentItem++; 
       theloop(); 
      } 



     }); 

刚刚出现了错误,因为我想象它停留在一些无限循环

我也试过

var theloop = setInterval(function(){ 

      $('#goldspot-2012 ul#goldspot-2012-list li').eq(currentItem).removeClass('current').fadeOut(500); 
      $('#gs-controls ul li').eq(currentItem).removeClass('current');       

      if (currentItem == items -1){ 
       currentItem = 0; 
      } 

      else { 
       currentItem++; 
      } 
      $('#goldspot-2012 ul#goldspot-2012-list li').eq(currentItem).addClass('current').fadeIn(500); 
      $('#gs-controls ul li').eq(currentItem).addClass('current'); 

     }, 5000); 

但可以不会停下来,轻松开始。

任何人都可以告诉我一个基本的循环,它会一直持续下去,直到你停止它,或者是上面两个可以修补的小工具之一吗?

感谢

+0

要编写一个循环,请使用'for'或'while'等JavaScript循环结构,如for(var i = 0; i 2012-07-11 11:10:03

回答

0

试试这个:

 var cycler = true; 
     var theloop = (function(){ 

     $('#goldspot-2012 ul#goldspot-2012-list li').eq(currentItem).removeClass('current').fadeOut(500); 
     $('#goldspot-2012 ul#goldspot-2012-list li').eq(currentItem+1).addClass('current').fadeIn(500); 
     $('#gs-controls ul li').eq(currentItem).removeClass('current');    
     $('#gs-controls ul li').eq(currentItem+1).addClass('current');   

     if (currentItem == items -1){ 
      currentItem = 0; 
     } 

     else { 
      currentItem++; 
     } 

     if(cycler) theloop(); 

     }); 

这让你有机会停止无限循环。当需要停止循环时,放置一些设置循环仪的按钮或代码为false