당신은 무한 루프를 만들고 있습니다. 당신은 그렇게 의도적으로 행동했지만 생각보다 훨씬 빨리 달렸습니다. complete
은 함수 참조를받습니다. 콜백 함수의 이름에 괄호를 추가하면 즉시 aniPointer
을 호출하고 나중에 aniPointer
에 대한 참조를 전달하는 대신 반환 값을 complete
으로 전달합니다.
그럼에도 불구하고 그 시퀀스는 정말로 원하는 것입니까?
당신은 일을하는지 :
go to 1.0 over 300ms
go to 0.2 over 700ms
go to 0.2 over 300ms
go to 1.0 over 300ms
repeat
이 1.0이 시작하고 가정되는 사실 :
wait 300ms
go to 0.2 over 700ms
wait 300ms
go to 1.0 over 300ms
repeat
당신이 이런 일을 할 수있는 안정적인 펄스를 찾는 경우 : 당신이 의도적으로 일시 중지 된 경우
function pulse($elem) {
return window.setInterval(function() {
$elem.animate({opacity: 0.2}, 700)
.animate({opacity: 1.0}, 300);
}, 1000);
}
또는 당신은 할 수 :
function pulse($elem) {
return window.setInterval(function() {
$elem.animate({opacity: 0.2}, 700);
window.setTimeout(function() {
$elem.animate({opacity: 1.0}, 300);
}, 1000);
}, 1600);
}
반환 값은 당신이 그렇게 좋아하기를 원한다면 당신은 애니메이션을 중지 할 수 있도록합니다 :
var pulseIntervalId = pulse($('#arrow_id'));
//some time later...
window.clearInterval(pulseIntervalId);
어느 버전은 펄스 요소에 대한 참조를 가지고 콜백을 허용하는 무한 루프 문제를 치마 것이다 조기에 호출되지 않고.
와우, 정말 물어 없습니다 더 자세한 답변을 원한다면! – Jigs
Hah, 나는 그것이 일하기를 바란다! GL. – jasongetsdown