我有两个div(parentDiv,childDiv)。 ParentDiv包含多张图像,因此当用户单击图像时,应在childDiv中复制该图像(这可以使用jQuery克隆功能来实现),但是我想为复制过程设置动画,例如飞行动画。我尝试了这个但是

var clonedImg = $("#img").clone().css("position", "absolute").css("opacity","0");
                $("#parent").append(clonedImg);
                clonedImg.animate({
                   opacity: 1,
                    top: '+=300'
                }, 5000, function () {
                    $("#child").append(clonedImg);
                });


Link to Fiddle

最佳答案

在执行动画之前,必须将克隆的元素添加到DOM中:

  $("#btnTransfer").click(function () {
            var clonedImg = $("#img").clone();
            $("#child").append(clonedImg);
            clonedImg.css("position", "relative").animate({ opacity: 0.25,
                top: '+=50'
            }, 5000, function () {
                clonedImg.css("opacity", "1");
            });
        });


演示:http://jsfiddle.net/VvCXr/6/

09-20 13:01