JQuery ожидает страницы, чтобы закончить загружаться прежде, чем запустить слайд-шоу?

Инструкция: , Если можно кратко обеспечить точное представление , формат это как выражение Python (который подразумевает, что это может быть и eval'd и скопированный непосредственно в исходный код в правильном контексте). При обеспечении неточное представление , использование <...> формат .

Там является многими возможными представлениями для любого значения, но тот, который это является самым интересным для Python программистов, является выражением, которое воссоздает значение. Помните, что те, кто понимает Python, являются целевой аудиторией — и это также, почему неточные представления должны включать соответствующий контекст. Даже значение по умолчанию <XXX object at 0xNNN>, в то время как почти совершенно бесполезный, все еще обеспечивает тип, id() (для различения различных объектов), и признак, что никакое лучшее представление не доступно.

12
задан Alex Angas 7 October 2009 в 09:15
поделиться

5 ответов

Вы, наверное, уже знаете о $ (document) .ready (...). Что вам нужно, так это механизм предварительной загрузки; что-то, что извлекает данные (текст, изображения или что-то еще) перед их демонстрацией. Это может сделать сайт более профессиональным.

Взгляните на jQuery.Preload (есть и другие). jQuery.Preload имеет несколько способов запуска предварительной загрузки, а также обеспечивает функцию обратного вызова (когда изображение предварительно загружено, затем показывать его). Я много использовал его, и он отлично работает.

Вот как легко начать работу с jQuery.Preload:

$(function() {
  // First get the preload fetches under way
  $.preload(["images/button-background.png", "images/button-highlight.png"]);
  // Then do anything else that you would normally do here
  doSomeStuff();
});
13
ответ дан 2 December 2019 в 03:07
поделиться

Что ж, первое может быть достигнуто с помощью функции document.ready в jquery

$(document).ready(function(){...});

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

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

10
ответ дан 2 December 2019 в 03:07
поделиться

Механизм $ (document) .ready должен срабатывать после успешной загрузки DOM, но не дает никаких гарантий относительно состояния изображений, на которые ссылается страница.

Когда в сомневаюсь, вернитесь к старому доброму событию window.onload:

window.onload = function()
{
  //your code here
};

Теперь это явно медленнее, чем подход jQuery. Однако вы можете пойти на компромисс где-то посередине:

$(document).ready
(
  function()
  {
    var img = document.getElementById("myImage");

    var intervalId = setInterval(
                        function()
                        {
                          if(img.complete)
                          {
                            clearInterval(intervalId);
                            //now we can start rotating the header
                          }
                        },
                        50);
  }
);

Чтобы немного пояснить:

  1. мы берем элемент DOM изображения чей образ мы хотим полностью загружен

  2. , мы затем устанавливаем интервал на срабатывает каждые 50 миллисекунд.

  3. , если в течение одного из этих интервалов полный атрибут этого изображения установлено значение true, интервал очищается и операция вращения безопасна для start.

4
ответ дан 2 December 2019 в 03:07
поделиться

Если вы передадите jQuery функцию, она не запустится, пока страница не загрузится:

<script type="text/javascript">
$(function() {
    //your header rotation code goes here
});
</script>
1
ответ дан 2 December 2019 в 03:07
поделиться

вы можете попробовать

$(function()
{

$(window).bind('load', function()
{

// INSERT YOUR CODE THAT WILL BE EXECUTED AFTER THE PAGE COMPLETELY LOADED...

});
});

У меня была та же проблема, и этот код работал у меня. как это работает и для вас!

20
ответ дан 2 December 2019 в 03:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: