2

プロジェクトでswipe.jsを使用しています。

スライダーのデータを動的に変更しています。

データが変更されたときに新しいスワイプ オブジェクトを作成しただけですが、コールバックなどを破棄していないため、問題が発生しています。スワイプ オブジェクトを破棄する、または少なくとも更新するにはどうすればよいですか?

    <div id='flyers'>
      <ul>
       <li style='display:block'></li>
       <li style='display:none'></li>
       <li style='display:none'></li>
      </ul>
    </div>

  window.slider = new Swipe(document.getElementById('flyers'), {
    startSlide: 0,
    speed: 200,
    callback: function(event, index, elem) {
        $('#home .flyerNav .selected').removeClass('selected');
        $('#home .flyerNav').children().eq(index).addClass('selected');
        $('#home .flyerLoves').attr('imgId',slides[index].imgId);
        daterizer(index);
    }
  });
4

1 に答える 1

6

swipe2 ブランチを試してください。kill設定したイベント リスナーを削除するメソッドがあります。まだ正式に「完了」していないと思いますが、目立ったバグがなければうまくいくかもしれません。window.slider.kill()新しいものをインスタンス化する直前に呼び出します。

于 2012-12-12T00:00:39.587 に答える