0

ここからダウンロードしたjQueryカルーセルを使用しています:http://www.thomaslanciaux.pro/jquery/jquery_carousel.htm

ページネーションを使用し、ページ番号がクリックされると、現在のページ番号に「アクティブ」と呼ばれるクラスを適用します。このクラスが適用されたときに発生するイベントをトリガーしたいのは、左矢印と右矢印を使用してクラスを現在のページ番号に適用するためです。

クラスが適用されたときにトリガーしたいイベントは次のとおりです。

$('.red').click(function() {
     $('#formred').attr('checked', 'checked');
 });

私はそれを機能させましたが、ページがロードされたときのみ:

 if ($('.red').hasClass('active')) {
      $('.red').trigger('click');
 }

最初のページ番号にはデフォルトでクラスが適用されているため、ページの読み込み時にこれが機能します。クラスが他のページ番号に適用されるため、これを行う必要があります。

4

3 に答える 3

2

編集:ボタンのクリックで必要なだけで、そのauto機能が必要ない場合は、要素のイベントをリッスンする が利用可能になったら、.delegate()に配置するだけです。.carouselclick'a[role=button]'

$('.carousel').delegate('a[role=button]', 'click', function() {

     // Because a button in the carousel was clicked, we know that
     //   one of the elements received the .active class. So we just
     //   need to find it.
     var $activeButton = $(this).closest('.carousel').find('.active');

     // Not sure how the .red class from your question factors in, but you
     //   can test the $activeButton to see if it has that class
     if( $activeButton.hasClass('red') ) {
         $('#formred').attr('checked', 'checked');
     }
});

auto繰り返しますが、これはボタンのクリック イベントに対してのみ機能し、回転するように設定されている場合には機能しません。これがあなたが求めているものかどうかはわかりません。


必要に応じて、livequeryjQuery を介して DOM の変更時にコードを実行するプラグインが呼び出されます。

http://brandonaaron.net/code/livequery/docs

$('.someClass').livequery( function() {
    // your code
});

2 番目の関数引数を渡すと、クラス (または要素) が削除されたときに実行されます。

$('.someClass').livequery( function() {
    // your code when adding
}, function() {
    // your code when removing
});
于 2010-11-10T18:44:13.943 に答える
0

私がすることは:

1 - 自動再生を無効にする

2-カルーセルのページネーションでトリガー(「クリック」)を行うsetIntervalを作成します

3-そしてもちろん、スライドをトリガーするだけでさらに多くのことができます

于 2011-11-04T22:11:46.580 に答える
0

次のような共有イベント ハンドラを作成できませんでしたか。

function changePage( pageNum, nextprev ){
  if( nextprev ) pageNum = activePage + nextprev;

  // show the next page

  $('someElement').addClass('active');
}

次に、このイベントをクリックとキーダウンの両方に設定します。

$(...).keydown( function(){
  changePage( [1 or -1, depending on input], true );
});

$(...).click( function(){
  changePage( [clicked page], false );
});
于 2010-11-10T18:43:52.487 に答える