0

我正在寻找制作剪刀剪出 div 动画的最佳/最佳方式?

我在想,如果像这样http://img.photobucket.com/albums/v29/wormholes201/animated-scissors.gif这样的动画 .gif以某种方式在 div 的 4 个角上移动,拥有它会很酷在拐角处旋转和改变方向?或者可能是带有精灵的东西?还是带有 3D CSS 的东西?

感谢您的帮助!

4

1 回答 1

1

您可以使用.offset(),.height().width()来计算元素边框的度量,并使用这些度量来移动图像...

HTML:​</p>

<div id="paperTrail"></div>
<img src="http://img.photobucket.com/albums/v29/wormholes201/animated-scissors.gif" id="ToBeAnimated">

CSS:

#paperTrail{
    position:relative;
    left:100px;
    top:100px;
    height:200px;
    width:300px;
    border:1px black solid;
}
#ToBeAnimated{
 position:absolute;
    transition:all 1s;
}​

JS:

function animationLoop() {
    $("#ToBeAnimated").css({
        top: ($("#paperTrail").offset().top - parseInt($("#ToBeAnimated").height()) / 2),
        left: ($("#paperTrail").offset().left - parseInt($("#ToBeAnimated").width()) / 2)
    }).rotate(270);
    $("#ToBeAnimated").animate({
        top: $("#paperTrail").offset().top + $("#paperTrail").height() - $("#ToBeAnimated").height() / 2
    }, 2000, function() {
        $(this).animate({
            rotate: "180deg"
        }, function() {
            $("#ToBeAnimated").animate({
                left: $("#paperTrail").offset().left + $("#paperTrail").width() - $("#ToBeAnimated").width() / 2
            }, 2000, function() {
                $(this).animate({
                    rotate: "90deg"
                }, function() {
                    $("#ToBeAnimated").animate({
                        top: $("#paperTrail").offset().top - $("#ToBeAnimated").height() / 2
                    }, 2000, function() {
                        $(this).animate({
                            rotate: "0deg"
                        }, function() {
                            $("#ToBeAnimated").animate({
                                left: $("#ToBeAnimated").width() / 2
                            }, 2000, function() {
                                setTimeout(animationLoop, 2000);
                            });
                        });
                    });
                });

            });
        });
    });
}
animationLoop();​

JsFiddle:http: //jsfiddle.net/djb3T/

于 2012-12-20T06:17:12.400 回答