2011-11-08 2 views
1

내가 #test div의 내부에서 순차적으로 이미지의 몇 페이드 다음 jQuery 코드를 가지고 : 이것은 위대한 작품을jQuery를 지연 페이드 재 작성 코드

$("#test img").each(function(index) { 
    $(this).delay(500*index).fadeIn(1000); 
}); 

. 스크립트의 바로 다음에 다음과 같은 내용이 있습니다.

$('#test img#img1').delay(5000).fadeOut(1000); 
$('#main-content').delay(5000).fadeIn(1000); 
$('#menu').delay(5000).fadeIn(1000); 
$('#test img#img2').delay(5500).fadeOut(1000); 
$('#test img#img3').delay(5500).fadeOut(1000); 

이 두 번째 일련의 페이드는 IE7에서 잘 작동합니다. IE7에서는이 두 번째 코드 집합이 지연없이 즉시 발생합니다.

제 질문은이 두 번째 세트를 처음과 같은 간단한 것으로 다시 쓰는 방법입니까? 나는 이렇게함으로써 IE7에서 잘 작동 할 것으로 기대하고 있습니다. 나는 다음과 같은 것을 시도했지만 작동하지 않았다 ...

$("#test img").each(function(index) { 
    $(this).delay(500*index).fadeIn(1000, function() { 
     $('#test img#img1').delay(5000).fadeOut(1000, function() { 
      $('#main-content').delay(500).fadeIn(1000, function() { 
       $('#menu').delay(500).fadeIn(1000, function() { 
        $('#test img#img2').delay(500).fadeOut(1000, function() { 
         $('#test img#img3').delay(500).fadeOut(1000); 
        }); 
       }); 
      }); 
     }); 
    }); 
}); 

어떤 생각? 시간 내 줘서 고마워!

답변

0

그냥 막 다른 선택을 가진 첫 번째, 같은 :

$("#img1, #main-content, #menu, #img2, #img3").each(function(index) { 
    $(this).delay(500 * index).fadeOut(1000); 
}); 

참고 : id 선택 ('#test img#img1') 내부 id를 사용할 필요가 없습니다.
ID는 어쨌든 고유합니다. '#img1' 만 사용하십시오.