0

このコードに問題はありませんが、期待どおりに動作していません。

function slide(slideIndex, slideDirection) {
    console.log(slideDirection); // outputs 'right'
    $('.slide').animate({slideDirection: '-=940'}, 400);
}    

$(function(){
    $('.prev','.slide').click(function (e) {
        e.preventDefault();

        var slideIndex = $(this).closest('.slide').index(),
            slideDirection = 'right';

    slide(slideIndex, slideDirection);
    });
});

animate メソッドで文字列 'right' だけを使用すると、機能します。私は何を間違っていますか?

4

1 に答える 1

5

というプロパティでオブジェクト リテラルを作成してslideDirectionいますが、引数の値を使用していません。そのためには、オブジェクトを 2 つのステップで別々に作成する必要があります。

var obj ={};//empty object literal
obj[slideDirection] = '-=940';//assign a new property
$('.slide').animate(obj, 400);

これでうまくいくはずです。json 形式のオブジェクトはのようになり{"slideDirection":"-=940"}ます。私が間違っていなければ、後者が必要です{"right":"-=940"}

于 2012-09-06T08:14:18.740 に答える