2011-05-14 137 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