Получить внешний HTML и затемнить / задержать полученные элементы

0

Я хотел бы загрузить некоторый HTML из внешнего источника, а затем постепенно исчезать/загружать его части на мою текущую страницу.

Внешний html выглядит так:

<div id="entries">
    <div class="entry">A</div>
    <div class="entry">B</div>
    <div class="entry">C</div>
</div>

И я могу получить каждую "запись", выполнив следующие действия:

$.get('external.html', function(responseText) {
    var $response = $(responseText);
    var $entries = $response.find('div.entry');
    $entries.each(function(index, $entry) { 
     // TODO - fade in each entry every x seconds onto the main page       
     // $('#entries').html($entry.outerHTML);
    });
});

То, что я не могу решить, - это как задержать загрузку каждой записи, так что на главной странице запись меняется каждые х секунд.

Может ли кто-нибудь помочь?

Благодарю!

Теги:
foreach
fade

1 ответ

1
Лучший ответ

Вы можете использовать что-то вроде этого:

var $entries = $(response).find('div.entry');
(function fadeInOut(i) {
    var next = i < $entries.length - 1 ? i + 1 : 0;
    $entries.delay(2000).fadeOut(500).eq(i).delay(500).fadeIn(1000, function () {
        fadeInOut(next);
    });    
}(1));

См. DEMO

  • 0
    Отлично спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню