0
function swap(fromTo, toFrom)
{
    var temp = blocks[fromTo];
    var templabel = BlockLabels[fromTo];

    blocks[fromTo].animate({ x: blocks[toFrom].X }, 1500, ">");
    BlockLabels[fromTo].animate({ x: BlockLabels[toFrom].X }, 1500, ">");

    blocks[toFrom].animate({ x: temp.X }, 1500, ">");
    BlockLabels[toFrom].animate({ x: templabel.X }, 1500, ">"); 
}

此交换功能在 IE9 中有效,但在 Chrome 中无效。我正在使用 Raphael2.0

更新: http: //jsfiddle.net/ZgEty/ chrome 和 safari 无法正常工作,但 IE9 可以

4

1 回答 1

1

啊...这是您访问 x 的方式,就好像它是一个对象属性一样。试试这个:

blocks[fromTo].animate({ x: blocks[toFrom].attr( 'x' ) }, 1500, ">");
BlockLabels[fromTo].animate({ x: BlockLabels[toFrom].attr( 'x' ) }, 1500, ">");

blocks[toFrom].animate({ x: temp.attr( 'x' ) }, 1500, ">");
BlockLabels[toFrom].animate({ x: templabel.attr( 'x' ) }, 1500, ">");

我也叉了你的小提琴

于 2012-06-21T16:36:36.890 回答