Запустить анимацию после ее остановки - PullRequest
2 голосов
/ 13 июня 2011

Приведенный ниже код останавливает анимацию, я хотел бы иметь возможность запустить его снова, при отпускании мыши

$(function animate(){
$(".block").animate({left: '+=500px'}, 2000);
$(".block").animate({left: '0px'}, 1, animate);
});

$(".block").mouseenter(function(){
$(".block").stop( true, false);
});

$(".block").mouseleave(function(){
animate();//This does not work
});

Ответы [ 2 ]

2 голосов
/ 13 июня 2011

Я думаю, что вы пытаетесь получить доступ к именованной функции в области, в которой она не определена?

function animate(){
  $(".block").animate({left: '+=500px'}, 2000);
  $(".block").animate({left: '0px'}, 1, animate);
};

$(animate);

$(".block").mouseenter(function(){
  $(".block").stop( true, false);
});

$(".block").mouseleave(function(){
  animate();
});

Я создал этот пример , который может помочь вам выполнить итерациюв рабочий раствор.

0 голосов
/ 13 июня 2011

Попробуйте Hover, чтобы активировать анимацию.

$(".block").hover(stop(),start());
function stop(){
  $(".block").stop( true, false);
});
function start(){
  $(".block").animate({left: '+=500px'}, 2000);
  $(".block").animate({left: '0px'}, 1, animate);
});
...