7

jCarousel のドキュメントには、次のように記載されています。

  • コールバック関数 itemLoadCallback を構成オプションとして渡すことにより、コンテンツの (li) アイテムを動的に作成できます。
    {...}
  • jCarousel には、作成するアイテムのインデックスと作成するアイテムの innerHTML 文字列を渡すことができる便利なメソッド add() が含まれています。

私の質問:

すべてのアイテムを削除して、新しいコレクションに再バインドすることはできますか?

ところで:これを行うために必ずしも「便利な方法」が必要なわけではありません。私は回避策に対して非常にオープンです。
参考までに:この戦略は機能していないようです。

4

2 に答える 2

8

これを行うことはできますが、カルーセルへの参照を保持して呼び出す必要がありますreset。これはinitCallback、 jcarousel 関数に渡すオプションを使用して実現できます。

function carousel_callback( carousel, state) {
    // BWA-HA...I have the carousel now....FEEL THE POWER!

    // reset empties it out
    $('#reset-caro').click( function( evt ) {
        carousel.reset();
    });

    // here's how to call add
    $('#add-to').click( function( evt ) {
        // ..this just adds to the first spot..modify as needed
        carousel.add(0, "<li>O HAI!</li>");
    });
}

$(document).ready(function() {
    $('#mycarousel').jcarousel( {
        initCallback: carousel_callback
    });
});

ここに私のHTMLがあります:

  <a id="reset-caro" href="#">reset</a>

  <a id="add-to" href="#">add</a>  

  <ul id="mycarousel" class="jcarousel-skin-tango">
    <li>MOM</li>
    <li>DAD</li>
    <li>BROTHER</li>
    <li>SISTER</li>
  </ul>
于 2009-09-03T18:55:28.313 に答える
3

上記に加えて、新しいカルーセルのサイズも指定してください。

carousel.size(x);

これにより、IE の白い空のボックスが削除されます (上記のように)。

ありがとう、ニック

于 2009-11-24T13:32:11.487 に答える