다음 코드가 루프에서 다음 애니메이션을 시작하기 전에 애니메이션이 끝날 때까지 기다리지 않는 이유를 알고 싶다.'for'루프에서 Jquery promise()를 사용하여 다음 효과를 시작하기 전에 효과가 끝날 때까지 기다린다.
루프에서 생성 된 모든 요소가 한 번에 표시되고 동시에 흐려집니다. 코드에서 루프의 첫 번째 반복이 끝나기 전에 첫 번째 요소가 페이딩을 끝내고 'for'루프의 두 번째 반복이 다음 요소에서 사라지는 것이 기대됩니다.
지저분한 코드를 만들기 전에 콜백을 사용하고 싶지 않고 동적 데이터를 사용할 루프를 사용하고 싶습니다. 애니메이션의 수는 다양합니다.
<div id="container"></div>
<script>
var data = [1,2,3,4];
for(var i = 0; i < data.length; i++){
$("#container").append("<h1>"+data[i]+"</h1>").hide().show("fade",2000);
$("#container").promise().done(function(){console.log('sweet');});
}
</script>
루프를 사용하면 그럴 수 있다고 생각하지 않습니다. Promise 체인과 카운터와 함께 재귀 함수를 사용하십시오. 1 차 약속 확정 약속 2 차 약속 약속 등 –
죄송합니다, 무슨 뜻인지 이해하지 못합니다. 코드 예제를 제공 할 수 있습니까? 나는 인터넷을 샅샅이 조사했지만 jquery 효과와 함께 사용할 수있는 루프와 사용법을 설명하는 것을 찾을 수 없다. – Trevor