2011-04-11 76 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);