2011-05-14 106 views
0

我试图做一个简单的循环上的jQuery动画,但它不会工作,我错了?jQuery无限循环动画问题

var time = 750; 
var go_up = true; 

$('#vittorio a').hover(function() { 
    checkMovement(); 
}, function() { 
    $('#heart').stop().animate({ 
     top:'0px' 
    }, 1500); 
}); 

function moveHeart (pos) { 
    $('#heart').stop().animate({ 
     top:pos 
    }, time, function() { 
     checkMovement(); 
    }); 
} 

function checkMovement() { 
    if (!go_up) { 
     go_up = true; 
     pos = '3px'; 
    } else { 
     go_up = false; 
     pos = '-3px'; 
    } 

    moveHeart (pos); 
} 

该循环仅工作一次。

+1

'-3px' 应该是 ' - = 3px的'?和 '的3px' 应该是 '+ = 3px的'? – 2011-05-14 11:01:04

+0

它应该在+ 3px到-3px之间波动,反之亦然,但函数只调用一次。 – vitto 2011-05-14 11:12:44

+0

你忘记在checkMovement()调用使用分号 – 2011-05-14 11:17:38

回答

0

看来你忘了在checkMovement用分号()调用

+0

我认为问题是'checkMovement();'不能从'jQuery'动画中的'callback'函数访问 – vitto 2011-05-14 11:24:48

+0

它应该工作,并且不用分号 – 2011-05-14 11:25:04