コンテナの「scrollLeft」をアニメーション化して、一種の「マーキー」効果を生成するjQueryアニメーションがあります。
コンテナにマウスオーバーするとアニメーションが停止し、マウスを離すと再開するように設定しました。
$(banksContainer).mouseover(function() {
$(banksContainer).stop(false);
});
$(banksContainer).mouseleave(function() {
startAnimation();
});
マウスをアニメーションの上に移動してからアニメーションから外すと、非常に遅い速度で再開しますが、1 分ほどすると徐々に速度が上がります。
この問題はなぜ発生し、解決できるのでしょうか?
PS。要求された startAnimation 関数は次のとおりです。
// recursive function - represents one cycle of the marquee
function startAnimation() {
$(banksContainer).animate(
{ scrollLeft: scrollLeftEnd },
35000,
"linear",
function() {
$(this)[0].scrollLeft = scrollLeftHome;
startAnimation();
}
);
}