2011-04-11 75 views
0

我在我的主頁上使用jQuery製作的旋轉橫幅。它使用以下區間clearinterval doesnt似乎停止旋轉

var countBlackButtons = $(".blackitems").size(); 
    var changeTrigger = 0; 
    var changeIndex = 1; 
    function startNewChange() { 
     clearInterval(changeIndex); 
     changeTrigger = setInterval(function() { 
     changeIndex = changeIndex + 1; 

     if(changeIndex != (countBlackButtons + 1)) { 
      $("#hpbutton" + changeIndex).trigger("click"); 
     } else { 
      changeIndex = 0; 

     } 
     //$("#homepageCaroselHolder").css({ "background": "url(" + eval("itembg" + changeIndex) + ")" }); 

     }, 4000); 

這是運行完全除了我想停止輪換時有人單擊按鈕。我看着clearinterval,認爲這會做什麼,我需要做的:

$("#hpbutton1").click(function() { 

    currentItem = itembg1; 

    itemcount = 1; 



    $("#homepageCaroselHolder").fadeOut(function() { 

    $("#homepageCaroselHolder").css({ "background": "url(/media/284/jqueryhompepagecaroselbackground.jpg)" }); 

     $("#homepageCaroselHolder").fadeIn(); 

    }); 

    //clear interval 



    clearInterval(changeTrigger); 



}); 

但它只是進行旋轉...有什麼事我可以用它來停止轉動?

回答

1

這可能是由於這樣的事實,如果你調用startNewChange多次,你將有數倍的間隔運行,因爲clearInterval(changeIndex);並不清楚什麼(應該是clearInterval(changeTrigger);