0

我怎样才能做到这一点?首先是代码...

 function flutter() {
    var random = Math.floor(Math.random()*5);
    var $obj = $('.bird');
    $obj.animate({ top :'-=' + random + 'px' }, 20, flutter);
    } 
</script>

在上面的代码中,当回调执行时,我想反转random的值。因此,我的目标是上下移动 Class 鸟,并尝试看看它是否会产生飘动的效果。

4

2 回答 2

2

我只是在上面调整了颤振,使其更高效、更方便。

 function flutter(distance, target) {
    // you can call flutter without argument. And no repetitive element finding is needed
    var random = distance || Math.floor(Math.random()*5);
    var $obj = target || $('.bird');
    $obj.animate({ top :'-=' + random + 'px' }, 20, function(){
        flutter(-random, $obj);
    });
    } 
于 2013-06-16T15:40:35.043 回答
2

你可以像这样使用一些闭包:

$obj.animate({ top :'-=' + random + 'px' }, 20, function(){ 
   flutter(random*-1);
});

这是完整的代码:

function flutter(offset) {
    var random = ( isNaN(offset) ) ? Math.floor(Math.random()*5) : (offset) ;
    var $obj = $('.bird');
    $obj.animate({ top :'-=' + random + 'px' }, 20, function(){ 
       flutter(random*-1);
    });
 } 

第一个电话很简单:flutter();

于 2013-06-16T15:15:45.057 回答