9

そのため、ロード時に非表示になっているコンテンツで SlabText を使用すると、少し問題が発生します (先日投稿したものと同様: http://bit.ly/11JpbdY )。今回は、slabText を取得して、スライダー内の一部のコンテンツの表示を更新しようとしています (Twitter Bootstrap の Carousel プラグインを使用)。

Bootstrap の Carousel プラグインに関する Twitter のドキュメント ( http://twitter.github.com/bootstrap/javascript.html#carouselslide ) に従って、正しく表示されるように SlabText を再呼び出しするようにイベントを使用しようとしています。

開発者ツールを使用すると、Carousel.nextが 1 つの要素から次の要素へのスライドを処理する際にクラスを追加することがわかり.itemます。.activeこれは、クラスが転送される前に削除されます。

「スライド」イベントには問題なくアクセスできますが、.next要素を取得しようとすると面倒です。これまでのコードの JSFiddle は次のとおりです: http://jsfiddle.net/peHDQ/

私の質問を簡単に言えば; slideイベントを正しく使用して関数をトリガーするにはどうすればよいですか?

役立つ追加情報があれば教えてください。


その他の注意事項:

クラスを取得できなかったので、.nextjQuery でこれを実行しようとしています。これまでの私のコードは次のとおりです。

$('.carousel').carousel({
    interval: 5000
}).on('slide', function (e) {
    $(this).find('.active').next().find('.slab').slabText();
});

私が理解していることから、これは各.slab要素を取得して SlabText プラグインをトリガーする必要があります....悲しいことに、エラーが発生します:

「キャッチされていない TypeError: オブジェクト [object Object] にはメソッド 'slabtext' がありません」

ここで私が間違っていることを誰にもアドバイスできますか...? クラスを追加するためにまったく同じプロセスを使用しましたが、正常に動作します(このJSFiddle: http://jsfiddle.net/peHDQ/2/に従って)

4

1 に答える 1

14

問題を特定しました。問題は、次のスライドが表示される前にイベント 'slide' が呼び出されることです。少し遅延を追加しましたが、現在は正常に動作しています。これを試して:

   $('.carousel').carousel({
       interval: 5000
   }).on('slide', function (e) {
       var xx = $(this);
       setTimeout(function() {
           xx.find('.active').next().find('.slab').slabText();
       } , 0);
   });
于 2013-02-20T18:39:06.237 に答える