【发布时间】:2013-06-17 23:20:32
【问题描述】:
我有以下代码:
left = $('.academy-container').css('marginLeft');
function loop_forward(){
$('.academy-container').stop().animate(
{
marginLeft:'-=20'
},
{
duration: 100,
step: function(now, fx) {
left = fx.pos;
}
},
loop_forward
);
}
$('.carousel-next').hover(function() {
loop_forward()
}, function() {
stop();
})
}
我正在尝试使用 step 函数来跟踪边距,因为它通过每一步更新“left”变量来向左移动。但是,它并没有像我想象的那样工作。它不会继续动画,而是在 1 帧后停止。
我希望它在更新变量的同时不断循环播放动画。我找不到此代码有什么问题,因此将不胜感激。 :)
谢谢。
编辑:这是我遇到的问题的一个小提琴: http://jsfiddle.net/RhQrV/1/
【问题讨论】:
-
似乎是work fine。您的问题可能出在访问
left变量值的代码上。 -
用我正在经历的事情更新了帖子。我希望能够将鼠标悬停在一个元素上,并让它继续移动(只要我悬停,这就是步骤应该更新的地方)。
-
将
hover()的第一个参数视为mouseenter的事件处理程序,它没有悬停时间的概念,如果我理解正确的话,使用一些本机API 可能更容易。 jsfiddle.net/RhQrV/2
标签: jquery css jquery-animate