2015-05-04 180 views
2

這是拉斐爾JS的JavaScript庫一個簡單的動畫。 該函數繪製一個字段,然後熄滅粉紅色矩形的對象。 當你點擊「灰色」按鈕時,粉紅色的矩形開始水平移動。粉紅色的矩形移動,一旦達到它的指定位置,它就會停止。循環動畫

我需要幫助的是:

1:使粉紅色長方形迴歸到它的起始位置。

2:循環動畫這樣的粉紅色矩形往返。

我試圖通過增加來解決這個「X:0」,之後的「X:-1」,但沒有成功。正如你所看到的,我也將重複設置爲無窮大,也沒有成功。

領域:

var p = Raphael(0, 0, 240, 140); 
    p.rect(0,0,240,70); 

從的onclick觸發按鈕和功能:

p.rect(130, 80, 50, 25) 
    .attr({ 
     fill : "grey", 
     "stroke-width" : 1 
    }) 
    .click(function(){ 
    pinkRect.animate({ 
     repeat: "Infinity", 
     x:-1, 
     }, 2000); 

}); 
+0

@GuruprasadRao我試過幾次,讓它工作在小提琴將是巨大的幫助上 –

+0

小提琴。但它不會。無論如何上傳實時代碼? – Winterwind

+0

你在上傳到小提琴時面臨什麼問題? –

回答

1

您需要有效地使用動畫的方法的回調函數,並調用它本身,因爲你有2個動畫。所以關鍵位是低於第2位......

p.rect(130, 80, 50, 25) 
    .attr({ 
     fill : "grey", 
     "stroke-width" : 1 
    }) 
    .click(animPink); 

function animPink() { 
    var x = pinkRect.attr('x') < 0 ? 150 : -1; 
    pinkRect.animate({ x: x }, 2000, animPink); 
}; 

jsfiddle點擊第三個灰色的方塊

+0

非常感謝,工作100%。不知道你需要爲它創建一個變量。噢,學到了新的東西:) 我可以問你能否幫我解決一件事?第四個ID爲「= 4」的按鈕,我希望它點擊paus並重置選取矩形的動畫。 – Winterwind

+0

此外,我看到你在這裏也回答了我的帖子:http://stackoverflow.com/questions/30001620/raphaeljs-animation-loop 問題是這個教程是一樣的,但拉斐爾JS幾乎爲零教程和幾處我可以提出問題並獲得幫助的地方,那麼請您幫助我解決問題嗎?我已經堅持了很長時間,我想取得進展。 – Winterwind

+0

不確定你是否必須創建一個變量,但這種感覺更簡單。關於另一個問題,我在評論中說它的工作。 – Ian