2011-09-03 35 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); 
    } 
}