jQuery Mobile マルチページ設定を使用して、次のようなクリック イベントをバインドしようとしています (このページはメイン ページではありません)。
HTML
<div data-role="page" id="thirdPage">
<div class="wrapper">
<div class="segment"></div>
<div class="segment"></div>
<div class="segment prev"></div>
<div class="segment now"></div>
<div class="segment next"></div>
<div class="segment"></div>
<div class="segment"></div>
<div class="segment"></div>
<div class="segment"></div>
<div class="segment"></div>
<div class="segment"></div>
</div>
</div>
jQuery
$('.segment.next').on('click', function(){
var seg = $(this);
var width = seg.width();
var currentLeft = parseInt($('.wrapper').css('left'));
var left = currentLeft - width;
//using transit.js for css animation
$('.wrapper').transition({left : left}, 300, 'linear', function(){
$('.segment').filter('.prev').removeClass('prev');
$('.segment').filter('.now').removeClass('now');
seg.removeClass('next').addClass('now');
seg.prev().addClass('prev');
seg.next().addClass('next');
});
});
ほとんどのことは機能しているようです。必要に応じてクラスを削除/追加し、ラッパーを適切な量のピクセルで左側にアニメーション化します。ただし、$('.segment.next') の部分は正しく機能していません。最初のアニメーションの後に正しい $('.segment') にクラス「next」があっても、クリック イベントはこの「 new" $('.segment.next') 2 回目以降。代わりに、クリック イベントは引き続き元の $('.segment.next') にバインドされます。この問題を解決する方法はありますか? どんな助けでも大歓迎です!
事前にたくさんありがとう!