jquery整个屏幕动画

时间:2009-12-23 14:10:07

标签: jquery

如何通过单击jquery

为屏幕设置动画

2 个答案:

答案 0 :(得分:1)

我假设您想要将屏幕上的DIV从一个位置移动到另一个位置。这样做的方法是链接几个animate()调用,在前一个移动完成时将它从一个位置移动到另一个位置。也许将中间位置(如果有的话)存储在一个数组中,并弹出每个动画调用的下一个位置,直到所有调用完成。使用递归回调函数可能是处理此问题的最佳方法。

我会假设DIV已经绝对定位。如果没有,您可能需要查看makeAbsolute插件。

<强>未测试

var positions = [ [ x1, y1 ], [ x2, y2 ], .. ];

play( $('#myDiv'), positions );


function play( elem, positions ) {
   if (positions.length > 0) {
       var position = positions.shift();
       elem.animate( {  left: position[0], top: position[1] } }, function() {
           play( elem, positions );
       });
   }
}

答案 1 :(得分:1)

$("#myDiv").click(
    function(event){
         $(this).animate({"left:0"},1500,'linear'  // the fourth parameter is a callback function which runs when the animation completes
             function(){ $(this).animate(...);
    }
);

正如tvanfosson所说,它只是对动画函数的一系列调用 - 上面的代码并不完全适合你所谈论的内容,但它足够清楚地说明了这个例子(我认为)