jquery动画与百分比

时间:2013-03-18 18:29:41

标签: javascript jquery

我正在做一个非常简单的动画,就像这样:

$("article").animate({
    left:"-=70"
},1000)

这个工作,它从当前的“左”值减去70px。 但问题是,我需要这个百分比:

$("article").animate({
    left:"-=70%"
},1000)

当然,这不起作用。有什么工作吗?

谢谢!

编辑:添加了一个jsfiddle:

http://jsfiddle.net/ZsU37/

1 个答案:

答案 0 :(得分:1)

假设您已经尝试过以上操作并且不起作用,您可以尝试计算实际值:

$("article").animate({
  left: parseInt($(this).css('left'),10)*0.3
},1000)

解释:$(this).css('left')应获取当前值,类似于125px,通过parseInt传递去除px部分,然后乘以0.3得到30它的百分比(假设它是你的意思-70%)

修改:查看适用于此处的小提琴http://jsfiddle.net/demaf/。请注意:

  • 由于我使用的是点击处理程序,因此我无法再使用this,因此我已更改为$('article')
  • 要设置动画的
  • 元素需要左边的初始值为非零(否则数学会给出0值并且不会出现动画)
  • 元素需要使用left值,因此需要相应position