3

私はバナースライドショーに取り組んでいますが、ナビゲーションを操作すると問題が発生しました:

function slideSwitch(item) {
    if(item) {

        //Problem
        var $active = $('#banner div').index(item);
        var $activeImage = $('#banner img').index(item);


    } else {
        var $active = $('#banner div.active');
        var $activeImage = $("img[src$='/images/active.png']");

        if ($active.length == 0) $active = $('#banner div:last');
        if ($activeImage.length == 0) $activeImage = $('#banner img:last');
    }
}
$("#banner img").click(function () {
    slideSwitch($(this));
});

問題は、#banner の img をクリックするときです。画像の位置(navigation.indicator)を転送して、選択したバナーをフェードインできるようにしたいです。問題はここにあります:

    var $active = $('#banner div').index(item);
    var $activeImage = $('#banner img').index(item);

オブジェクトが選択されていないため、index() を正しく使用していません。これを行うにはどうすればよいですか?

「$('#banner div')[item]」も試しましたが、これでもオブジェクトが返されません..

4

1 に答える 1

3

[] を jQuery オブジェクトで使用すると、リスト内のその位置の基になる HTML ノードが返されます。あなたが望むのは、そのノードをjQueryで再ラップすることです。

試す"$($('#banner div')[item])"

于 2012-03-28T20:48:59.950 に答える