2011-11-08 75 views
1

我有以下的jQuery代碼按順序褪色的圖像夫婦#TEST DIV中: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); 
}); 

注:沒有必要使用idid選擇('#test img#img1')。
無論如何,該ID是唯一的,只需使用'#img1'