2011-09-03 126 views
0

为什么不按照代码工作,5分钟后停止?过了一会幻灯片停止了?

var x = 0; 
var s = 0; 

function cicle() { 
    if (x < 2) { 
     $("#slide").animate({ 
      "right": "-=893px" 
     }, 1500); 
     x++; 
     s++; 
    } else { 
     x = 0; 
     s++; 
     $("#slide").animate({ 
      "right": "0px" 
     }, 1000); 
    } 
}; 
var a = setInterval("cicle()", 5000); 
if (s == 10) { 
    clearInterval(a); 
    var a = setInterval("cicle()", 5000); 
} 

EXAMPLE

回答

1

变化setIntervalcicle第一个参数:

var a = setInterval(cicle, 5000); 
if (s == 10) { 
    clearInterval(a); 
    var a = setInterval(cicle, 5000); 
} 

我希望它可以解决你的问题。

也许它会更好,添加一个新的前停止动画:

function cicle() { 
    if (x < 2) { 
     $("#slide").stop().animate({ 
      "right": "-=893px" 
     }, 1500); 
     x++; 
     s++; 
    } else { 
     x = 0; 
     s++; 
     $("#slide").stop().animate({ 
      "right": "0px" 
     }, 1000); 
    } 
}