【发布时间】:2015-06-15 15:09:41
【问题描述】:
我正在为具有上边距的元素设置动画。但是,当所述元素达到一定的余量时,我想创建另一个事件。我做了我认为可行的事情,但它似乎没有做任何事情。
所以我有一个元素移动到上边距 300 像素,当它达到 300 像素时,我希望它到达上边距 -80 像素。
function raindrop(element,speed) {
$(element).animate({
'margin-top':'300px'
}, speed, 'linear');
margin = parseInt($(element).css('marginTop'));
if(margin>=300) {
$(element).css('marginTop','-80px');
$(element).animate({
'margin-top':'300px'
}, speed, 'linear');
}
}
我还想在这里使用递归函数,以便它继续这样做。任何想法我做错了什么?
【问题讨论】:
-
在jQuery的
animate()中使用"complete" callback function,这是一个动画完成后调用的函数。 -
@VivianKennedy,我想建议您研究一下
requestAnimationFrameAPI,以便以 linear 方式为元素设置动画。我谦虚地相信,没有必要使用 jQuery 的animate()函数来做你想做的事情。但我也知道这是一个非常主观的事情,一个品味的事情。了解可用的选项总是好的。
标签: jquery animation jquery-animate