0

私はこれを使用しています:

 $(function() {

            // initialize scrollable
            window.api = $("div.scrollable").scrollable({
                clickable: true,
                activeClass: "active",
                onSeek: function() {
                    alert("current position is: " + this.getIndex());
                    //remove highlighting from all images
                    $(".items img").removeClass("selected");
                    var position = this.getIndex().toString();
                    var thisItem = $(".items:nth-child(" + position + ")");
                    //var thisItem = allItems(this.getIndex);
                    alert("item is: " + $(this).attr('alt'));
                    changeimage($(".items:nth-child(2)"));
                }
            }).circular().autoscroll({
                interval: 4000,
                api: true,
                autoplay: false,
                steps: 1

            });

        });

(テスト中)現在のアイテムを私のchangeimage()関数に解析できるようにしますしかし、私のアラートで得られるものはすべて未定義です。現在のアイテムを取得するには、ここで何をする必要がありますか

4

1 に答える 1

2

次のコマンドを呼び出すことで、APIを使用して現在のアイテムを取得できます。

var currentItem = window.api.getItems().eq(window.api.getIndex());

getIndex()関数は要素の数値位置を取得し、getItemsはその中にすべてのアイテムを含むjqueryオブジェクトを取得します。eq()関数を使用すると、指定された位置にあるアイテムを要求します。

運が悪かったこともありますが、onSeekコールバック内で、次のようなwindows.apiの代わりに「this」変数を使用できるはずです。

var currentItem = this.getItems().eq(this.getIndex());
于 2010-12-09T19:47:43.387 に答える