0

jsコードは次のとおりです。

var index=0;
function reset(){
    for(var i=0;i<count+2;i++){
        $(imgs[i]).css("left",width*(i-1-index));
    }
}
reset();
//$(".dcCarousel").swipeleft(function(){
$("#left").click(function(){
    index = index+1;
    for(var i=0;i<count+2;i++){
        $(imgs[i]).animate({"left":width*(i-1-index)}, complete=function(){
            if(index>=count) {
                index = 0;
                //$(this).delay(0,reset);
                reset();
            }
        });
    }
});

初めてリセットが呼び出されて実行されると、左の属性に正しい値が割り当てられます。しかし、animate() の完全なハンドラーで呼び出すと、左の属性値はアニメーションの後と同じです。どうしてこれなの?そして、これを解決する方法は?

ところで、私が実装しているのは循環カルーセルです。頭と尾の画像を複製し、画像の最後と最初に追加します。最後までスクロールしてアニメーションが終了したら、css属性を変更して最初の画像を表示します。このアプローチに問題はありますか?

他のカルーセル ウィジェットを提案しないでください。自分で作成する必要があります。ありがとう!

4

2 に答える 2

0
index = index+1;
    for(var i=0;i<count+2;i++){

これが好きに違いない

for(var i=0;i<count+2;i++){
  index = index+1;
于 2013-07-14T09:16:11.663 に答える