div
을 마우스로 움직이거나 마우스를 올리면 마우스를 움직여 나가기 위해 노력하고 있습니다. 그러나, 내가 여러 번 들락날을 걸어 갔을 때, div
은 기본적으로 내가 호버 한 횟수만큼 앞뒤로 계속 움직였습니다. 이 jsFiddle example을 참조하십시오.jQuery 애니메이션 : 일단 마우스가 나오면 애니메이션을 멈춤
아마 짐작 했겠지만, 내가 마우스를 몇 번이나 썼는지에 관계없이 마우스가 요소 외부에 있으면 div
이 멈추도록 (즉, 미끄러 져 들어가기를) 바라고 있습니다. jQuery 애니메이션에 대한 이해가 부족하다고 생각합니다.
$("#state-slider").hover(function() {
$(this).animate({
left: '0'
}, 500);
}, function() {
$(this).animate({ left: "-270" }, 500);
});
감사합니다.
이것은 완벽하게 작동합니다. 고맙습니다! 마우스 입력시'.stop()'이 필요한 이유를 알고 있습니까? 그렇지 않으면 @ 3nigma의 대답과 같은 "점프"가 있기 때문에 우리는 그것을 가질 필요가 있다는 것을 압니다; 그러나, 나는 그것 뒤에 이유가 확실하지 않습니다. – moey
@ Siku-Siku.Com : 마우스 입력과 마우스 놓기 모두에서'.stop() '을 사용하는 이유는 마우스 위로 div를 가져 가서 멀리 옮기고 다시 빠르게 다시 올리면 분명해진다. 사용자가 기대하는 것은 "돌아서 다", 즉 그 일을 멈추고 대신 새로운 일을하는 div입니다. 그건 정확히'.stop()'이하는 일입니다. 설명을 위해 –
+1! – moey