2012-04-01 56 views
0
var pieceSize = new Array(); 
pieceSize[0] = 200; 
pieceSize[1] = 400; 
pieceSize[2] = 300; 

這不起作用:爲什麼不能使用jQuery的動畫功能?

$("#visual").animate({ 
     height: pieceSize[this.id.slice(5, 6)] 
    }, 250, function() { 
    }); 

但這:

$("#visual").animate({ 
     height: pieceSize[2] 
    }, 250, function() { 
    }); 

LOG: this.id.slice(5,6)== 0或1或2(我正在切片被點擊的按鈕的ID)

我已經嘗試不同的組合將parseInt函數沒有它的工作原理:

高度:pieceSize[parseInt(this.id.slice(5, 6))])

高度:parseInt(pieceSize[this.id.slice(5, 6)])

高度:parseInt(parseInt(pieceSize[this.id.slice(5, 6)]))

回答

0

這只是工作:JsFiddle

如果您回覆pieceSize[this.id.slice(5, 6)],日誌裏有什麼?

+0

記錄爲300功能之外,但內部未定義...沒有意識到'這'將參考#visual – 2012-04-01 19:13:57

+0

是的,這是因爲你在動畫功能範圍 – 2012-04-01 19:41:21

2

這在你的情況下將獲取ID「視覺」。是按鈕的ID還「視覺」?

+0

啊我看到...不,我的按鈕有不同的id(button0,button1等) – 2012-04-01 19:00:05