1

構文を見つけるのに苦労したり、これに対するエレガントな解決策を見つけたりするのに苦労しています。

追加の画像をプレビューするために使用されるカルーセルに「現在表示中」のラベルを実装したいと考えています。サーバーから各スライドにラベルを挿入しますが、クラスを非表示にして設定します。

これが私の機能です:

var api = $('#imageNav').data('tabs');
var currentImageId = '#' + api.getCurrentPane().attr('id');
var $carousel = $('#carousel_slides');

$carousel.find('a > span').addClass('hidden')
                          .parentsUntil($carousel).find('a[href=\"' +
                           currentImageId + '\"] > span').removeClass('hidden');

3つの異なるイベントでその機能を実行できるようにしたいと思います:

1. DocumentReady()
2. $('#imageNav li > a').click()
3. $('#carousel_slides span > a').click()

3 つすべてを .on() と組み合わせる方法はありますか、それとも 3 つすべてに対して個別に設定する必要がありますか?

ありがとう。

編集- $(function () {}); でこれを試しました。しかし運がない。

var SetCurrentlyViewingLabel = function() {
    var api = $('#imageNav').data('tabs');
    var currentImageId = '#' + api.getCurrentPane().attr('id');
    var $carousel = $('#carousel_slides');
    $carousel.find('a > span').addClass('hidden')
             .parentsUntil($carousel).find('a[href=\"' + currentImageId + '\"] > span')
             .removeClass('hidden');
};

SetCurrentlyViewingLabel();

$('#imageNav li > a, #carousel_slides span > a').click(SetCurrentlyViewingLabel());
4

1 に答える 1

1

2 と 3 をコンマで組み合わせることができると思います。最初は実装方法がわかりません。

$('#imageNav li > a, #carousel_slides span > a').click()
于 2013-06-14T13:44:27.740 に答える