1

このアニメーションでコールバックを使用しようとしているため、アニメーションが完了した後、アニメーション化されている画像が元の状態に戻ります。しかし、それは正しく機能していません。誰かが正しい構文でこれを行う方法を教えてもらえますか?

if (currentEffect == "glimpse") {
    $("#next").click(function () {
        if (currentSlide == 0) {
            $("#slide1").animate({
                width: "0",
                opacity: 0.2,
                borderWidth: "10px"
            }, 1000, function () {
                width: "700px"
                opacity: 100,
                borderWidth: "0px"
            });
            $("#slide2").fadeIn(800);
        }
    });
}
4

2 に答える 2

1
if (currentEffect == "glimpse") {
    $("#next").click(function () {
        if (currentSlide == 0) {
            $("#slide1").animate({
                width: "0",
                opacity: 0.2,
                borderWidth: "10px"
            }, 1000, function () {
                $(this).animate({  // <-- need to call .animate() again
                    width: "700px" // <--- you forgot a ,
                    opacity: 100,  // <--- opacity is a value between 0.0 and 1.0
                    borderWidth: "0px"
                }, 1000);
            });
            $("#slide2").fadeIn(800);
        }
    });
}
于 2013-03-15T06:11:22.967 に答える
0

コールバック関数がオブジェクトを参照していません。あなたはおそらく欲しい:

$("#slide1").animate({
    width: "0",
    opacity: 0.2,
    borderWidth: "10px"
}, 1000, function () {
    $("#slide1").css({ 
        width: "700px",
        opacity: 1, 
        borderWidth: "0px"
    });
});
于 2013-03-15T06:14:11.820 に答える