Задержка эффектов jQuery во время загрузки страницы - PullRequest
1 голос
/ 06 октября 2010

У меня есть этот бит кода:

$("#comingsoon, #1, #2, #3").hide().each(function(i) {
    $(this).delay(i * 500).slideDown(1500);
});

То, что в основном исчезает в серии объектов на моей странице, проблема в том, что анимация ужасно запаздывает, когда загружается флэш-баннер вверху страницы. Я хотел бы отложить всю анимацию jQuery примерно на 2-3 секунды.

У кого-нибудь есть идеи.

Ответы [ 4 ]

2 голосов
/ 06 октября 2010

Я предполагаю, что вы используете $(document).ready() для запуска вашего кода.

Если вы хотите дождаться загрузки DOM и всего содержимого страницы , вы можете использовать $(document).bind("onload", ...);.

2 голосов
/ 06 октября 2010

Поскольку вы уже используете delay, вы можете просто добавить фиксированный интервал к текущему переменному интервалу:

$("#comingsoon, #1, #2, #3").hide().each(function(i) {
  $(this).delay(2500 + i*500).slideDown(1500);
});

(это 2500 добавляет 2,5-секундную задержку перед началом слайд-дауна.)

Если вы хотите отложить и скрывать , поместите все это в функцию с задержкой:

setTimeout(function() {
    $("#comingsoon, #1, #2, #3").hide().each(function(i) {
      $(this).delay(i*500).slideDown(1500);
    });
}, 2500);

Это даже не скроет ничего, пока через 2,5 секунды после запуска этого кода.

См. Также ответ Джона Гитцена : Если вы хотите дождаться загрузки всего содержимого страницы (это может занять много времени, но, возможно, именно то, что вам нужно), используйте window load событие вместо jQuery.ready.

1 голос
/ 06 октября 2010
$(window).load(function () {
     $("#comingsoon, #1, #2, #3").hide().each(function(i) {
     $(this).delay(i*500).slideDown(1500);
     });
});

Это выполняется, когда окно загружает полностью, а не когда DOM готов .

0 голосов
/ 06 октября 2010

Вы всегда можете использовать функцию setTimeout ().

setTimeout(   function() {

    $("#comingsoon, #1, #2, #3").hide().each(function(i) {
        $(this).delay(i*500).slideDown(1500);
    });

}, 3000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...