JQuery задержка исчезновения переписать код - PullRequest
1 голос
/ 08 ноября 2011

У меня есть следующий код jquery, чтобы постепенно добавить пару изображений внутри #test div:

$("#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);
                    });
                });
            });
        });
    });
});

Есть мысли? Спасибо за ваше время!

1 Ответ

0 голосов
/ 08 ноября 2011

Так же, как и первый, только с другим селектором:

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

Примечание: нет необходимости использовать id внутри id селектора ('#test img#img1').
Идентификаторв любом случае уникален, просто используйте '#img1'.

...