clearinterval не останавливает вращение - PullRequest
0 голосов
/ 11 апреля 2011

У меня есть вращающийся баннер на моей домашней странице, сделанный в 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 Ответ

1 голос
/ 11 апреля 2011

Вероятно, это связано с тем, что если вы вызываете startNewChange несколько раз, у вас будет работать несколько интервалов, поскольку clearInterval(changeIndex); ничего не очищает (должно быть clearInterval(changeTrigger);)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...