2012-04-01 58 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