我怎样才能做到这一点?首先是代码......
function flutter() {
var random = Math.floor(Math.random()*5);
var $obj = $('.bird');
$obj.animate({ top :'-=' + random + 'px' }, 20, flutter);
}
</script>
在上面的代码中,当执行回调时,我想要反转random的值。因此,我的目标是上下移动Class鸟,并试着看它是否会产生飘动效果。
答案 0 :(得分: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();
答案 1 :(得分: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);
});
}