2011-01-29 3 views
0

다양한 크기의 4 개의 이미지가 있습니다. 나는 그들이 특정 순서로 적재되기를 바란다. 로드 핸들러를 사용하면 일단로드되면로드되고 필요할 때만 표시됩니다. 하지만 .fadeIn()을 순서대로 설정하면 반드시로드되지 않습니다.여러 이미지를로드 한 후 순서대로로드하십시오.

아이디어가 있으십니까? 여기에 지금까지있어 무엇 :

$('.z2').load(function(){ 
    $(this).fadeIn(600); 
    $('.z4').delay(300).fadeIn(1900, function(){ 
     $('.z1').fadeIn(3250);         
         }); 
         }); 

나는 Z2는 Z4보다 ​​크기 때문에 Z2 및 Z4가 동시에 fadeIn하자, 그리고 Z4는 더 큰 있기 때문에 Z4가로드되면 그때 fadeIn에 Z1을 설정합니다.

전역 변수를 설정해야 할 수도 있습니다. 변수가 충족되면 사진이 흐려지고 변수가로드 함수에 의해 설정됩니다. 다른 아이디어라도 좋을 것이므로 너무 많은 시간을 낭비하지 않아도됩니다.

답변

0

fadein을 호출하는로드 함수 대신로드 된 이미지 수를 추적하십시오. var를 0으로 설정하십시오. 이미지가로드 될 때마다 var를 증가 시키십시오. var가 4에 도달하면 THEN이 fadeins을 예약합니다.

지연으로 재생해도 문제가 없지만 네트워크 결함으로 인해 "큰"이미지가 오랜 시간 동안로드되지 않을 수 있습니다.

+0

로드 될 때 실제로 나타나기를 원하지만 순서대로 표시하고 싶습니다. 당신이 제안하는 것을하는 것은로드 시간이 될 수있는 가장 길다는 것을 의미합니다. 모든 이미지가 표시되기 전에 기다립니다. – bozdoz

+0

아. 참된. 그러나 어느 쪽이든, "이전"이미지 중 하나 앞에 "이후"이미지가 표시되지 않도록해야합니다. 즉,로드 된 이미지의 클라이언트 측 목록을 유지해야합니다. 이미지 # 2가 # 1 이전에 완료되면 # 1이 완료 될 때까지 이미지를 표시하지 않습니다. –