clearinterval似乎不会停止旋转

时间:2011-04-11 08:25:59

标签: javascript jquery intervals

我的主页上有一个用jquery制作的旋转横幅。它使用以下间隔

    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 个答案:

答案 0 :(得分:1)

这可能是因为如果您多次拨打startNewChange,您将有多个时间间隔,因为clearInterval(changeIndex);无法清除任何内容(应为clearInterval(changeTrigger);